MySQL5.1で日本語全文検索

「検索」、「検索」というお話があって、さてさてどうしたものか、と思っていたのだが、重い腰をあげて、MySQL5.1にN-Gramプラグインを入れてみることにした。サイズ的には、WHERE LIKE %検索語% のフルスキャンでもなんとかなるだろ、と思ったりするんだけど、それじゃあ進歩がないと思った次第。
WEB+DB Press Vol.45(ずいぶん古い)を引っ張り出してやってみた。
まだ、できてないが、今日やったことを覚書きしておく。

Fedora13には、yumで以下のパッケージをインストール。

mysql-libs-5.1.48-2.fc13.i686
mysql-5.1.48-2.fc13.i686
mysql-server-5.1.48-2.fc13.i686
mysql-devel-5.1.48-2.fc13.i686

プラグインには、MySQLのヘッダーが必要なので、develをインストール。ヘッダー(my_config.h)は、/usr/include/mysqlに入る。

N-Gramプラグインサイトを見ると、Tritonnとかを推薦しているが、Web+DB Press通りにやってみる。

ダウンロードしたbi_gram-src-1.0.1.tar.gzを展開して、

./configure --includedir=/usr/include/mysql --prefix=/usr
make
make install

makeでエラーがでるので、こちらのサイトを参考にcを直してコンパイルする。--prefixを指定しているが、上の場合、/usr/lib/mysql下にモジュールができてしまうので、

bi_gramlib.la
bi_gramlib.so
bi_gramlib.so.0
bi_gramlib.so.0.0.0

の4つを/usr/lib/mysql/plugin下に移動。bi_gramlib.soが/usr/lib/mysql/plugin下にないと、MySQLで以下を実行したときに「ないよ」といわれちゃう。

INSTALL PLUGIN bi_gram SONAME 'bi_gramlib.so';

WEB+DB Pressだと、WikipediaXMLダンプをXml2sqlでMySQLに入れて実験とかいてあるが、Xml2sqlのページをみると、「これは薦められない」と書いてある。[tp://www.mediawiki.org/wiki/Manual:Importing_XML_dumps:title=他のページ]には、新しいフォーマットに適合してない、とも書いてある(それに、tar.gzもダウンロードできない)。
自分の環境だと、mwdumper(Media Wiki Dumper)が良さそうなので、jarを落として、

java -jar mwdumper.jar

とやったら、それっぽい画面が上がってきた。

今日はここまでかな。

=>