ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja zh ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja ja en ja ja vi ja sv eu ja en en hu ja ja en en pl ja ja jbo hbs_lat en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja
いろいろ考えると日本語の全文検索もMySQLがいいね! #osc2014tk - 2014-10-24 - ククログ
スライド(SlideShare)
スライド(Speaker Deck)
リポジトリー(スライドのソースだけでなく、スライドの中で示しているベンチマークを実行するスクリプトなども置いてあります。)
今回の発表は「すでにMySQLを使っていて」、「全文検索についてよく知らない」けど、「日本語の全文検索を実現したい」という人向けの内容になっています。そのため、トークナイザーや転置索引といった話はあえて外しました。
MySQLを使うと、そのような詳細を知らなくてもそこそこの機能の日本語の全文検索を実現できる、ということを伝えました。
データ量が少ない場合は適切なcollationを設定すればLIKEでも十分な機能と性能が得られて、運用の手間も増えません。LIKEで十分なら無理して専用の全文検索サーバーは必要ありません。
データ量が増えてきたらMroongaを導入することにより高速な日本語全文検索機能を手に入れられます。しかも、トークナイザーや転置索引といったことを知らなくても使えます。運用面を考えてみても、専用の全文検索サーバーを別途導入するよりかなり楽に運用できます。なぜならMySQLの運用ノウハウを使えるからです。
すでにMySQLを使っているなら、まずはLIKEかMroongaを使ってみて、機能面で不足を感じ始めたら検索のチューニングを始めるのがよいでしょう。
実は、Mroongaにも検索のチューニングを実施するオプションがあるので、専用の全文検索サーバーを導入する前にMroongaで経験して全文検索に関するノウハウを貯めるという方法を使えます。
スライド中でも軽く触れましたが、知らないことに手をだすときは、いきなりカンペキを求めないやり方をオススメしています。まずは実際に動かして、気になったところ(最初はいろいろあるはず)を改良しながら知識や技術を身に着けていく方法です。コツコツと改良を積み重ねていく方法です。遠回りに感じるかもしれませんが、後から振り返ってみると結構割に合っています。
別の方法として、近くに詳しい人がいたらその人に相談するという方法もオススメです。例えば、OSCに参加してブースに行って相談する、ということですね。
今回は、発表だけでなく、日本MySQLユーザ会のブース番もしました。普段あまり意識していないことについて質問されたときにうまく答えられなくて、自分は何を知らなかったかに気付けました1。誰かに説明をする、という機会はいいものですね。みなさんもブース番をしてみてはいかがでしょうか。日本MySQLユーザ会はブース番をしてくれる人を募集しています。日本MySQLユーザ会のメーリングリストに参加しているとたまに募集のメールが流れるるので、そこで手をあげるとよいです。
OSC2014 Tokyo/Fallでの日本MySQLユーザ会の発表内容を紹介しました。MySQLで日本語を全文検索したかった人は参考にしてください。
Mroongaや全文検索についてもっと知りたくなった人は、10/27(来週の月曜日)に開催されるGroongaドキュメント読書会5や、11/29(いい肉の日!土曜日)に開催される全文検索エンジンGroongaを囲む夕べ5へも参加してみてください。理解が深まること間違いありません!
なお、「全文検索エンジンGroongaを囲む夕べ5」の方は発表者も募集しています。
今回は、特にMySQL ClusterやGalera ClusterなどMySQLの分散システムのことが勉強になりました。 ↩
現在クリアコードではソフトウェア開発者を募集しています! フリーソフトウェア開発での開発の仕方をベースに、成果や知識を公開し共有しながら業務に携われます。
OSC2014 Tokyo/FallでMySQLユーザー向けに日本語全文検索について紹介予定
12/9にリーダブルコードのWeb授業(生放送)を開催予定
Apache Arrow
milter manager
ククログの記事はCC BY-SA 4.0とGFDLのデュアルライセンスで自由に利用できます。
クリアコードはプログラミングが楽しいソフトウェア開発者を1名募集しています。
クリアコードは「クリアコードをいい感じにする人」を1名募集しています。
クリアコードはフリーソフトウェア開発で培った技術力を提供しています。特にMozilla製品(Mozilla FirefoxとMozilla Thunderbird)とRubyとGroonga(全文検索)に関連した開発を得意としています。