Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20151129_Mroongaをとある教育サービスで導入してみた話
Search
Tatsuya Sasaki
November 29, 2015
Technology
0
4.8k
20151129_Mroongaをとある教育サービスで導入してみた話
良い肉の日(11/29)のGroonga Meetupで話したときの資料
Tatsuya Sasaki
November 29, 2015
Tweet
Share
More Decks by Tatsuya Sasaki
See All by Tatsuya Sasaki
20250326_管理ツールの権限管理で改善したこと
sasata299
1
820
20180912_小さな成功体験を積み重ねてチームで負債に立ち向かう_medbeer.pdf
sasata299
3
11k
Classi - Real Tech Night
sasata299
1
4.3k
20150625_SpeeeTeckParty
sasata299
9
8.8k
前回のMF Geeks Nightに参加してから実践したこと
sasata299
0
920
20141125_エンジニアドリブンな改善の進め方
sasata299
0
2.1k
20140926_VagrantとDockerと普段思ってること
sasata299
2
5.3k
20140219_4社合同技術勉強会
sasata299
2
4.1k
AngularJSを使ったらこんなことが出来るよ
sasata299
40
71k
Other Decks in Technology
See All in Technology
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
220
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
290
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
340
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.2k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
ゆるSRE #11 LT
okaru
1
590
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
160
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
150
Long journey of Continuous Delivery at Mercari
hisaharu
1
210
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
140
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
190
Featured
See All Featured
Docker and Python
trallard
44
3.4k
Optimizing for Happiness
mojombo
379
70k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
How GitHub (no longer) Works
holman
314
140k
Scaling GitHub
holman
459
140k
How STYLIGHT went responsive
nonsquared
100
5.6k
Six Lessons from altMBA
skipperchong
28
3.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Transcript
Mroongaを とある教育サービスで 導⼊入してみた話 株式会社ヒトメディア @sasata299
⾃自⼰己紹介 • ささたつ • ヒトメディア所属 • からあげエンジニア
• 技術ブログ
からあげ 美味しい
[PR] 本を出しました
Mroonga • Tritonnの後継プロダクト • GroongaをMySQLから利利⽤用できるように したもの • 参照ロックフリー
利利⽤用シーン • Classiという教育サービスにて • コンテンツの検索索部分にMroongaを利利⽤用
採⽤用した理理由 • MySQL単体で全⽂文検索索を使える • MySQL5.6.4からは標準で全⽂文検索索が可能になったが 事前にわかち書き等の処理理は必要 • データを更更新するとインデックスも即時反映
• わかりやすいし、MySQLなので運⽤用も楽
MeCabで形態素解析 • groonga-‐‑‒tokenizer-‐‑‒mecabをインストール • テーブル作成時にコメントで ”TokenMecab” を指定する
実際のSQLは • MATCH(検索索するカラム) AGAINST(“検索索 キーワード” IN BOOLEAN MODE) •
検索索したい⽂文字列列の前にPragmaという変な記 号を付ける
AND検索索が出来ない • 「foo bar」とかで検索索すると、「foo」もし くは「bar」が含まれる結果が返ってくる。。 (OR検索索?) <発表後追記> MySQLのデフォルトの挙動がORだから
+のPragmaが付かないとOR検索索になる
出来るようになったよ *D+ <発表後追記> DはDefaultの略略(デフォルトの挙動を変える)
CIの環境構築でコケる • CircleCIで都度度都度度、Mroongaをインストール している • MySQLのバージョンと、Mroongaの依存する MySQLパッケージのバージョンが違う!?
バージョンを指定
通るようになったよ
まとめ • Mroongaは全⽂文検索索を導⼊入したい!って いうときに簡単に実現できるので便便利利 • Pragmaのところが最初はちょっと??だ けど、そういうものだと思えば
ご静聴ありがとう ございました @sasata299