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
940
20180912_小さな成功体験を積み重ねてチームで負債に立ち向かう_medbeer.pdf
sasata299
3
11k
Classi - Real Tech Night
sasata299
1
4.4k
20150625_SpeeeTeckParty
sasata299
9
8.8k
前回のMF Geeks Nightに参加してから実践したこと
sasata299
0
940
20141125_エンジニアドリブンな改善の進め方
sasata299
0
2.1k
20140926_VagrantとDockerと普段思ってること
sasata299
2
5.3k
20140219_4社合同技術勉強会
sasata299
2
4.2k
AngularJSを使ったらこんなことが出来るよ
sasata299
40
71k
Other Decks in Technology
See All in Technology
Bedrock で検索エージェントを再現しようとした話
ny7760
2
160
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
140
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
480
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
670
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
130
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
250
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
Create Ruby native extension gem with Go
sue445
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
180
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Fireside Chat
paigeccino
39
3.6k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
540
Code Reviewing Like a Champion
maltzj
525
40k
Faster Mobile Websites
deanohume
309
31k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
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