MySQLでのフルテキスト検索

いろいろなシステムを平行して作っていて、
自分でも作っているものの進行が分からなくなっています。
そんな中の一つで、ヤフオクの落札情報を分析しているサイトの構築。
今までは外部向けは簡易な検索と、情報提供が主でキーワードによる分析は
ローカルで処理していた。
その理由はリアルでのフルテキスト検索が遅くなって使い物にならないので、
そのような形式になっている。
ただニーズとしては、やはりリアルに検索できることは、
サービスの必須になるので、システムを更新することにした。
MySQLでのフルテキスト検索は、日本語ではうまく稼働しない。
これはMySQLの公式HPでも書かれていますが、簡単に言うと、
英語圏のシステムなので日本語の解析は対応していない、
ということになります。
そんな訳で、MySQLでの日本語フルテキスト検索の実現に向けて、
いろいろと検討していた。
そんな中見つけたのが、mroongaです。
MySQLのmyisamエンジンに置き換えて使うシステムで、現在のシステムと併用することができる。
また、インデックスの作成もそのままレコードにデータを流し込むだけ。
導入(インストール)もyumから入れるだけ。
いろいろと考えていたけど、これ入れとくだけだった。
ほんとありがたいです。
ちなみに、うちの一ヶ月分のデータは1000万レコード。
そのデータを使って検索をしてみた。
myisamでLike検索  7分17秒
mroongaでmatch検索  0.38秒
全然比較になりませんでした。
ただファイルの配置が特殊で、でれくらい容量が増えたのか不明。
ちょっとそこが怖いのでまた検証します。
とりあえず、メインのサーバも、こちらのシステムを導入する予定です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です