2007年01月19日

ポイ探の掲示板、コラム等の検索を追加

ポイ探の掲示板やコラム&ニュースなどは全てデータベースから読み込んでいる。そのため、サイト内の全文検索をするNamazuを使うには、一回ファイルに吐き出す必要がある。それはデータベースの容量+検索のための容量を確保する必要があり、さらにインデックスのスペースも確保する必要がある。

そこで、MySQLの全文検索を利用した。MySQLの全文検索は英単語には利用できるが、日本語で利用するにはちょっとやらなければならない処理がある。まずはkakasi等で分かち書きをし、それを英数字の文字列に変更する。例えばbin2hex等を利用すれば良い。

bin2hexにすると文字列が全て英数字になる。それをMySQLのFULLTEXTのフィールドにインサートする。検索する場合は、同様にkakasi等で分かち書きした単語をMATCH〜AGAINSTで検索する。複数の単語になる場合は、ANDで結べば良い。

これで全文検索が出来る。検索速度も0.02〜0.10秒くらいで検索できる。と言っても、まだ数千件のレベルなので、LIKEによる検索でもさほど変わらないだろう。

ポイ探で「ANAマイル」を検索

投稿者 Su-Jine : 2007年01月19日 22:28

ポイ探とポイントオンが提携
 Su-Jine の独り言
ポイ探の縁起札

トラックバック

このエントリーのトラックバックURL:

コメント コメントしてください




保存しますか?