2

それぞれ異なるフィールド セットを持つ複数のドキュメント タイプにわたって検索をセットアップしようとしています。そのため、検索は常に、すべてのドキュメント タイプに共通する最も一般的なファセット フィールド (製品カテゴリなど) から開始する必要があります。

PRODUCT CATEGORY  
- Camera (42)  
- TV & Video (96)  
- MP3 Player (11)  
- Video Game (63)

「カメラ」を選択した後、次のように、そのドキュメント タイプ (ブランド、容量など) 専用の新しいファセット フィールドのセット全体を有効にする必要があります。

PRODUCT CATEGORY  
> Camera

BRAND  
- Canon (42)  
- Nikon (96)  
- Sony (11)  
- Samsung (63)

CAPACITY  
- 1Gb (42)  
- 2Gb (96)  
- 3Gb (11)  
- 4Gb (63)

プログラムでクエリ パラメータを管理することでこれを実行できることはわかっていますがfacet.field、これを体系的に構築するためのより良い方法はありますか? Solr とそのフィールド構造内でこのファセット フィールドの依存関係を許可する機能またはヒントはありますか?

どうもありがとう!

編集:「ファセット フィールドの依存関係」からタイトルを変更しました。

4

2 に答える 2

2

IMO 依存関係を作成する必要はありません。
このエントリに対して個別のフィールドを作成できます。

最初のクエリを実行するときは、製品タイプにファセットします。
次に、特定の製品タイプでフィルター処理すると、フィルターに従って結果からファセットのみが取得されます。

たとえば、製品タイプのカメラにはブランド Canon、Nikon などがあります ... いくつかの容量オプションがあります 製品タイプ TV & ビデオにはブランド Song、Samsung などがあります ... その他の属性があります

そのため、カメラ ( fq=product_type:Camera) でフィルター処理する場合、容量オプションを使用して、このフィルター内の製品タイプのカメラとブランドのみに結果を制限します。
フィルタリングは依存関係を処理する必要があります。

于 2012-09-14T09:46:26.287 に答える
0

各ドキュメントの適切な情報を確実にインデックス化することでそれができると思います。階層ファセットに関するこの wiki ページを参照してください。

于 2012-09-14T07:48:34.577 に答える