શจݕࡧͷछྨ
G O R U B Y J S
J S
J S
J S
J S
J S
G O
R U B Y G O R U B Y J S
Grepܕ
ΠϯσοΫεܕ
ྫ: υΩϡϝϯτʮGO RUBY JSʯʹจࣈྻʮJSʯؚ͕·Ε͍ͯΔ͔ݕࡧ
8
ࣄલʹݕࡧରͷυΩϡϝϯτͷࡧҾσʔλΛ࡞
ಈ࡞ྫ Analyzer
Analyzeલ MappingCharFilter StandardTokenizer LowercaseFilter StemmerFilter StopWordFilter
I feel TIRED :( I feel TIRED sad I, feel, TIRED, sad i, feel, tired, sad i, feel, tire, sad feel, tire, sad
ॲཧͷྲྀΕ
17
Slide 18
Slide 18 text
Analyzeલ MorphologicalTokenizer ReadingformFilter
౦ژͱژ ౦ژ, ͱ, ژ tokyo, to, kyoto
ॲཧͷྲྀΕ
ಈ࡞ྫ Analyzer
18
Searcherͷ࣮
35
go
php
go
php
MySQL্ͷసஔΠϯσοΫε
ݕࡧΫΤϦ
”Go PHP”
go, php
Analyzer
Analyze
Searcher
ద߹ͨ͠υΩϡϝϯτ
τʔΫϯʹରԠ͢ΔϙεςΟϯάϦετΛ
MySQL͔ΒϝϞϦRead
ϙεςΟϯάϦετ
ࠪ
Slide 36
Slide 36 text
ద߹͢ΔυΩϡϝϯτΛ୳ͨ͢ΊʹͲ͏ϙεςΟϯάϦετΛͲ͏ࠪ͢Δ͔?
DAAT(Document At A Time)
• ΫΤϦʹؚ·ΕΔτʔΫϯͷϙεςΟϯάϦετͷΧʔιϧΛͯ͢։͖ಉ
࣌ʹॲཧ
• υΩϡϝϯτ͝ͱʹࠪ͢Δ
• Elasticsearch(Lucene)Ͱ࠾༻
※DAATʹରͯ͠TAAT(Team At A Time)͕͋Δ͕ࠓճϊʔλον
ࢀߟࢿྉΛఴ https://www.slideshare.net/tsubosaka/top-kquery
Searcherͷ࣮
36
Slide 37
Slide 37 text
DAATͰͷANDݕࡧ
Χʔιϧ͕ࢦ͢υΩϡϝϯτ͕ҟͳΔͷͰΧʔιϧΛਐΊΔ
Result = []
37
ྫ “PHP” AND “Ruby” ݕࡧ
ruby
php
1
2
5
5
2
4
Slide 38
Slide 38 text
DAATͰͷANDݕࡧ
Χʔιϧ͕ࢦ͢υΩϡϝϯτ͍͠ͷͰ݁ՌʹυΩϡϝϯτΛՃ͑Δ
Result = [2]
38
ྫ “PHP” AND “Ruby” ݕࡧ
ruby
php
1 5
5
2
4
2
Slide 39
Slide 39 text
DAATͰͷANDݕࡧ
Χʔιϧ͕ࢦ͢υΩϡϝϯτ͕ҟͳΔͷͰΧʔιϧΛਐΊΔ
Result = [2]
39
ྫ “PHP” AND “Ruby” ݕࡧ
ruby
php
1 5
2
4
2 5
Slide 40
Slide 40 text
DAATͰͷANDݕࡧ
Χʔιϧ͕ࢦ͢υΩϡϝϯτ͍͠ͷͰ݁ՌʹυΩϡϝϯτΛՃ͑Δ
Result = [2, 5]
40
ྫ “PHP” AND “Ruby” ݕࡧ
ruby
php
1 5
2
4
2 5