0

solr トランクを使用していくつかのドキュメントを検索し、カテゴリ別にグループ化していますが、最初に別のフィールドでグループ化する必要があります。より具体的には、次のスキーマを使用しています。

  • component_id: 文字列
  • カテゴリ: 文字列
  • 名前: テキスト

そして、私は2つのドキュメントを持っています:

  1. component_id = register1、category = category1、name = 'foo bar'
  2. component_id = register1、category = category2、name='foo bar Zoo'

私のクエリは(関連するパラメータのみ)です:

{edismax qf=name}(foo bar)&group.field=component_id&group.truncate=true&facet.field=category&bq=category:category1^2

ファセットの結果は次のとおりです。

'category': 
'category1', 1 
'category2',1

しかし、たとえば bq パラメータを変更すると、 bq=category:category1^20 のようになります。

ファセットの結果が変更されました。

'category':
'category1', 1   
'category2', 0

それは可能ですか?バグですか?group.truncate=false を設定すると、この例ではすべて問題ありませんが、残りのクエリでは失敗します。

ありがとうございます。それでは、お元気で

4

1 に答える 1

0

私は自分自身に答えます。

group.truncateは、データが均一である場合、またはグループに類似のオブジェクトが含まれている場合は正しいオプションですが、異なるカテゴリのデータを混合する場合は問題があります。

group.truncate=trueの場合|A| ∪|B| <> | A | + | B | -A∩B

bqパラメータですべてOKです。

于 2012-02-29T08:33:28.273 に答える