[Senna-dev 214] Re: 特定のkeywordでmysqldがsegfaultします

Back to archive index

morit****@razil***** morit****@razil*****
2006年 3月 14日 (火) 10:54:41 JST


rev97で修正しました。

なお、

 against('+蓮 +(_MT_D_MERO_ _MT_A_MERO_ _MT_V_MERO)' IN BOOLEAN MODE)

のようなクエリーですと、ヒット件数が0になり、内部で部分一致検索が実行されるので、
応答が遅くなります。

 against('*E-1 +蓮 +(_MT_D_MERO_ _MT_A_MERO_ _MT_V_MERO)' IN BOOLEAN MODE)

のようにクエリ文字列の冒頭に指示することによって部分一致検索を抑止できます。
(*Eの後ろの数値はsenna.confに記述するPARTIAL_MATCH_THRESHOLDと同じ効力があります)

'蓮'に関してのみ部分一致を指定したい場合は、

 against('*E-1 +蓮* +(_MT_D_MERO_ _MT_A_MERO_ _MT_V_MERO)' IN BOOLEAN MODE)

のように指定します。

>>> Kazuhiro Osawa さんは書きました:
> 大沢です。
> 
> 
> > この環境で特定のキーワードのクエリがある時にmysqldが落ちる現象がありました。
> 
> 落ちるクエリは下記のような物です。
> select ID from SEARCH_DATA where match(SEARCH_TEXT) against('+蓮 +(_MT_D_MERO_ _MT_A_MERO_ _MT_V_MERO)' IN BOOLEAN MODE) limit 1;
> 
> 下記のようにキーワードが一つだけだと落ちませんでした。
> select ID from SEARCH_DATA where match(SEARCH_TEXT) against('蓮' IN BOOLEAN MODE) limit 1;
> 
> 
> データの内容に依存していて他の環境での再現性は無いとは思いますが
> ご奉告しておきます。
> 
> ---
> osawa
> _______________________________________________
> Senna-dev mailing list
> Senna****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/senna-dev
> 
--
morita



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