Naoya Murakami
visio****@gmail*****
2013年 9月 28日 (土) 00:56:39 JST
お世話になっております。村上です。 途中オペミスでインデックス構築をやり直したりしましたが、mecabの too long sentenceが発生せずに、インデックス構築を完了させることが できました。ありがとうございました。 TokenBigramの場合は、だいたい、1~10secの検索結果だったのが、 TokenMecab(+てにをは等除去)で0.5〜数secの検索結果と 2〜3倍の検索速度を得ることができました。 ほかの全文検索エンジンを利用したことがないのでわからないのですが、 この規模のデータベースでサーバ1台でこれだけの速度が得られるの ですから、相当はやいんだと思います。 インデックス構築時間21:17 データサイズ:453GiB 内、インデックスサイズ:95GiB 語彙表をちらっと見ると、へんな記号列や異なる数字列のごみトークンが非常に 多かったり、\nのバイグラムトークンがあったりします。 語彙表をひっくり返してごみパターンを抽出して、 mecabで記号、数字の分かち書きがunigramとなるよう調整する、 いらない記号のインデクシングを抑制する、 改行文字のノーマライズ処理またはトークナイズ処理を調整する、等、 トークナイズ処理の最適化をさらにおこなって、さらなる速度の向上が図れないか 試そうとおもってます。 また、マルチインデックスが組めなくて、語彙表が複数にわかれてしまっているので、 このあたりも少し足をひっぱっている原因かなぁと思われるので、 インデックスサイズが大きい場合もインデックス構築が失敗しないように 改善されることを期待しています。 (mecabの場合のマルチを試してないっていうのと、ごみトークンを抑制して 語彙量を減らしたらマルチを組めるかどうかってのも試そうと思ってます。) あとは、トークナイズ処理の最適化の後、余裕ができたらになると思いますが、 Qiitaでご紹介いただいていたdroongaとかも検討してみたいなぁと思ってます。 以上、よろしくお願いします。