Kouhei Sutou
kou****@clear*****
2013年 8月 9日 (金) 18:45:58 JST
須藤です。 In <CANM+HheM5Eba_CvYnABVtFdSLtR3Mp8FNBp+cFU2huyfhank_g****@mail*****> "[groonga-dev,01588] Re: groongaのトークナイザの改善について" on Fri, 9 Aug 2013 01:57:45 +0900, Naoya Murakami <visio****@gmail*****> wrote: > 本件につきまして、以下のように手探りの試行錯誤ですが、解決しました。 よかったです! > <試行錯誤> > ・mroonga_commandで自作トークナイザをregisterすることにより、プラグインの > トークナイザ名でインデックスのテーブルが作られるようになりました。 はい、そうです。 データベースを作った後、最初にmroonga_commandでregisterする 必要があります。 > ・しかし、プラグインのトークナイザをparser指定したテーブルに対して、 > テキストをinsertすると、Lost connection to MySQL server during query と > mysqldが落ちるようになりました。 > ・1文字切り出しのTokenSampleトークナイザをparser指定したmroongaテーブル > へのinsertの場合は、msqldが落ちずにうまくいきました。 うーん、自家製トークナイザーの中でクラッシュ感じですね。。。 > ・too longでエラーとはならないものの、あまりにでかいトークンでどっかの処理で > mysqldが悲鳴をあげているのかなぁと思い、 > 今回手を加えたBigramトークナイザの切り出し最大サイズを4096よりも > だいぶ短くし256にしたところ、mysqldが落ちずにinsertができました。 サイズを小さくして落ちなくなったのであれば、もしかしたら、メ モリーリークしているのかもしれません。 > これにより、4096バイト超の記号列が含まれる文章でも、アルファベット記号数字の > 英文の場合は、原則、空白区切りのトークナイズができるようになりました。 > > (そのあと、なぜか1回目のselectでmysqldが落ちましたが、 > mysqld再起動しても再発しなかったのであまり気にしないことにします。) 気になりますが、期待した挙動になったということなのでよかった です! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html