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だと、WikipediaのXMLダンプをXml2sqlでMySQLに入れて実験とかいてあるが、Xml2sqlのページをみると、「これは薦められない」と書いてある。[tp://www.mediawiki.org/wiki/Manual:Importing_XML_dumps:title=他のページ]には、新しいフォーマットに適合してない、とも書いてある(それに、tar.gzもダウンロードできない)。
自分の環境だと、mwdumper(Media Wiki Dumper)が良さそうなので、jarを落として、
java -jar mwdumper.jar
とやったら、それっぽい画面が上がってきた。
今日はここまでかな。
=>