[groonga-dev,04242] Re: restore後に検索がうまくできないケース

Back to archive index

shinonon shino****@jcom*****
2017年 1月 18日 (水) 15:58:48 JST


篠田です。

取り急ぎすぐに回答できる項目だけ……

> 1. 検索クエリは--query '"電源 i2c"'など、ダブルクォートで囲んだいわゆるフレーズ
> 検索ではなく"電源"と"i2c"の2つのANDのクエリだけでしょうか?

--query "電源 i2c" というフレーズ検索をしています。

> ほかに--filterなど他の検索条件が組み合わさっていることはないでしょうか?
> また、match_columnsで複数のカラム、インデックス指定はありませんか?

--filter や --match_columns(複数カラム指定)は常に併用しています。

> 2.
> >"i2c 電源" で検索すると漏れなく検索できるのですが、"電源 i2c" で検索す
> > ると restore した以降に新規に追加したレコードしかヒットしません。
> とのことですが、restoreした後に、レコードを追加しなかった場合にヒット数が
> どうなるかは確認できますでしょうか?(0件になりますか?)

0件になります。


On Wed, 18 Jan 2017 12:41:17 +0900
Naoya Murakami <visio****@gmail*****> wrote:

> 村上です。
> 
> Groonga 6.1.2で ANDの検索クエリを高速化するためのパッチを提供した
> のですが、そちらが影響している可能性があります。
> 
> 状況を切り分けるために、以下の情報をご提供いただくことは可能でしょうか?
> 
> 1. 検索クエリは--query '"電源 i2c"'など、ダブルクォートで囲んだいわゆるフレーズ
> 検索ではなく"電源"と"i2c"の2つのANDのクエリだけでしょうか?
> ほかに--filterなど他の検索条件が組み合わさっていることはないでしょうか?
> また、match_columnsで複数のカラム、インデックス指定はありませんか?
> 
> 2.
> >"i2c 電源" で検索すると漏れなく検索できるのですが、"電源 i2c" で検索す
> > ると restore した以降に新規に追加したレコードしかヒットしません。
> とのことですが、restoreした後に、レコードを追加しなかった場合にヒット数が
> どうなるかは確認できますでしょうか?(0件になりますか?)
> 
> 3. ログレベルをdebugにして正しくヒットしない検索と順番を入れ替えて正しく
> ヒットする検索をしたときのgroonga.logを提供していただくことは可能でしょうか?
> 
> もし、可能であれば、6.1.1で再現しないケースと6.1.3で再現するケースの両方が
> あるとありがたいです。
> 
> ログレベルは、Groongaの組み込みサーバーモードやコマンドを直接実行
> できるような場合は、
> groonga --log-level debug --log-path groonga.log <db path名>
> 
> とオプションを指定することにより変更できます。
> 
> 以下は欲しい部分のgroonga.logのサンプルです。
> 
> 2017-01-18 03:28:23.602374|i| [object][search][index][key][exact] <index
> name>
> 2017-01-18 03:28:23.602383|i| grn_ii_sel > (電源)
> 2017-01-18 03:28:23.606363|i| n=1 (電源)
> 2017-01-18 03:28:23.697238|i| exact: 287775
> 2017-01-18 03:28:23.697254|i| hits=287775
> 2017-01-18 03:28:23.697264|i| [object][search][index][key][exact] <index
> name>
> 2017-01-18 03:28:23.697267|i| grn_ii_sel > (i2c)
> 2017-01-18 03:28:23.697879|i| n=2 (i2c)
> 2017-01-18 03:28:24.072070|d| [ii][cursor][min] skip: 0x2dab350:
> min(12191448->12191508): chunk(21984->21985): chunk-used(true->true)
> 2017-01-18 03:28:24.296119|i| exact: 43782
> 2017-01-18 03:28:24.296137|i| hits=43782
> 
> 2017-01-18 03:29:26.880588|i| [object][search][index][key][exact] <index
> name>
> 2017-01-18 03:29:26.880597|i| grn_ii_sel > (i2c)
> 2017-01-18 03:29:26.881420|i| n=2 (i2c)
> 2017-01-18 03:29:28.017322|d| [ii][cursor][min] skip: 0x2847330:
> min(12191448->12191508): chunk(21984->21985): chunk-used(true->true)
> 2017-01-18 03:29:29.282945|i| exact: 353285
> 2017-01-18 03:29:29.282960|i| hits=353285
> 2017-01-18 03:29:29.282970|i| [object][search][index][key][exact] <index
> name>
> 2017-01-18 03:29:29.282973|i| grn_ii_sel > (電源)
> 2017-01-18 03:29:29.286260|i| n=1 (電源)
> 2017-01-18 03:29:29.387071|i| exact: 43782
> 2017-01-18 03:29:29.387087|i| hits=43782
> 
> 
> 以上、よろしくお願いします。
> 
> 2017年1月18日 9:36 shinonon <shino****@jcom*****>:
> 
> > 篠田です。
> >
> > dump した DB を Groonga 6.1.1(x64) で restore したときは問題ありません
> > が、Groonga 6.1.3(x64) で restore したときに検索がうまくできなくなるケー
> > スがありました。
> > "i2c 電源" で検索すると漏れなく検索できるのですが、"電源 i2c" で検索す
> > ると restore した以降に新規に追加したレコードしかヒットしません。6.1.1
> > で restore したときはいずれの検索条件でも同じ件数ヒットします。
> >
> > 6.1.1 で dump したデータ、6.1.3 で dump したデータのいずれを使用しても、
> > 6.1.1 で restore すれば問題ありませんが、6.1.3 で restore すると再現し
> > ます。
> >
> > 取り急ぎご報告まで。
> >
> > --
> > 篠田 敦
> > shino****@jcom*****
> >
> > _______________________________________________
> > groonga-dev mailing list
> > groon****@lists*****
> > http://lists.osdn.me/mailman/listinfo/groonga-dev
> >

-- 
篠田 敦
shino****@jcom*****




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