[groonga-dev,01589] Re: groongaのトークナイザの改善について

Back to archive index

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




groonga-dev メーリングリストの案内
Back to archive index