[groonga-dev, 04108] Re: missing result with TokenBigramIgnoreBlankSplitSymbolAlpha

Back to archive index

Kagami-H kagam****@auror*****
2016年 8月 30日 (火) 01:08:00 JST


お世話になります。各務です。
かずひこさんの、 [groonga-dev,	04107] に私も乗っかりたいです。

CentOS  7.2
mysql   5.7.14
mroonga 6.07

です。

現象としては同様ですが、一番長いキーワードでだけ MATCH しなくなります。
下記の対象のフィールドの search_text の先頭に、「福岡路線バス」と入っ
ているのですが、 fld1 が 0 を返すようになります。

TokenBigram の NormalizerMySQLUnicodeCIExceptKanaCIKanaWithVoicedSoundMark
で Index を作っていますが、Normalizer は別のものに変えても再発したので、
これは関係なさそうです。

SELECT id, search_text
, MATCH(search_text) AGAINST('*D+ 福岡路線バス' in boolean mode) AS fld1
, MATCH(search_text) AGAINST('*D+ 福岡 岡路 路線 線バ バス ス' in boolean mode) AS fld2
, MATCH(search_text) AGAINST('*D+ 福岡 路線 バス' in boolean mode) AS fld3
FROM tm_article_view 
WHERE MATCH(search_text) AGAINST('*D+ 福岡 路線 バス' in boolean mode) 
ORDER BY id DESC
LIMIT 10

Index の再作成をしたり、別テーブルにこのレコードだけを切り出すと、 fld1 
は 1 を返す期待する結果になります。

かずひこさんと同様に、テーブルの値更新を行うと不具合が発生する事がある
ようです。
(値を更新すると直る場合と壊れたままがあります。)

fld2 と fld3 は。影響が見当たりませんでした。

Bigram で MATCH している数は変わらず、私の環境では長いキーワードでだけ
MATCH しないものが発生しているような感じがしました。
(確認できる対象が少ないのですが、他のキーワードでもありました)

他にも検証に必要な情報があれば、お知らせください。

取り急ぎですが、あふぇくとみーまで。

P.S
テーブル名#インデックス名 の Grooga のテーブル が Index でしたよね?
これの中を覗けたら何か分からないでしょうか?


------------------------------------------------------------
各務 洋            Email   kagam****@auror*****




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