Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Mroongaを とある教育サービスで 導⼊入してみた話 株式会社ヒトメディア @sasata299
Slide 2
Slide 2 text
⾃自⼰己紹介 • ささたつ • ヒトメディア所属 • からあげエンジニア • 技術ブログ
Slide 3
Slide 3 text
からあげ 美味しい
Slide 4
Slide 4 text
[PR] 本を出しました
Slide 5
Slide 5 text
Mroonga • Tritonnの後継プロダクト • GroongaをMySQLから利利⽤用できるように したもの • 参照ロックフリー
Slide 6
Slide 6 text
利利⽤用シーン • Classiという教育サービスにて • コンテンツの検索索部分にMroongaを利利⽤用
Slide 7
Slide 7 text
採⽤用した理理由 • MySQL単体で全⽂文検索索を使える • MySQL5.6.4からは標準で全⽂文検索索が可能になったが 事前にわかち書き等の処理理は必要 • データを更更新するとインデックスも即時反映 • わかりやすいし、MySQLなので運⽤用も楽
Slide 8
Slide 8 text
MeCabで形態素解析 • groonga-‐‑‒tokenizer-‐‑‒mecabをインストール • テーブル作成時にコメントで ”TokenMecab” を指定する
Slide 9
Slide 9 text
実際のSQLは • MATCH(検索索するカラム) AGAINST(“検索索 キーワード” IN BOOLEAN MODE) • 検索索したい⽂文字列列の前にPragmaという変な記 号を付ける
Slide 10
Slide 10 text
AND検索索が出来ない • 「foo bar」とかで検索索すると、「foo」もし くは「bar」が含まれる結果が返ってくる。。 (OR検索索?) <発表後追記> MySQLのデフォルトの挙動がORだから +のPragmaが付かないとOR検索索になる
Slide 11
Slide 11 text
出来るようになったよ *D+ <発表後追記> DはDefaultの略略(デフォルトの挙動を変える)
Slide 12
Slide 12 text
CIの環境構築でコケる • CircleCIで都度度都度度、Mroongaをインストール している • MySQLのバージョンと、Mroongaの依存する MySQLパッケージのバージョンが違う!?
Slide 13
Slide 13 text
バージョンを指定
Slide 14
Slide 14 text
通るようになったよ
Slide 15
Slide 15 text
まとめ • Mroongaは全⽂文検索索を導⼊入したい!って いうときに簡単に実現できるので便便利利 • Pragmaのところが最初はちょっと??だ けど、そういうものだと思えば
Slide 16
Slide 16 text
ご静聴ありがとう ございました @sasata299