全文検索したい
Postgres/MySQLで100万レコードを全文検索したいんです。
さらっと調べてみたらいろいろありそう。
N-gramと形態素解析ってのがキーワードみたい。
Javaから使うならLuceneかな。DBとどうやって一緒に使おうか・・・。
DBの検索対象をまとめてファイル出力??
他にも、
Sennaってのがいいみたい。MySQLに組み込んで使う感じ。
MyISAMしか対応していないのでトランザクション管理はできない。
検索用のテーブルとしてMyISAMにして、更新用のテーブルはInnoDBかな。
資料をみると45万件のWikipediaのページを0.4秒で検索できるみたい。早い!
Senna使わないと44秒掛かっているので、その差はすばらしい♪
MySQLのソースを修正するのはちょっと気になる。
それとも、N-gramと形態素解析らしきものを自分で組み込むか・・・。
インデックスに相当するテーブルを用意して・・・、
形態素に分割して、組合せの数だけレコード挿入して、
先頭からマッチしたら基文章のキーを返す。
頭から検索するからインデックスが効いて高速検索??
うーむ、ちょい挫折。オイラの無力さを恥じる。
誰か良いアイデアを・・・。