0

私は、e コマース プロジェクトの solr を利用した検索の改善に取り組んでいます。そのため、Solr に対して検索クエリが実行され、Solr によって結果が返されます。

これはうまくいっています。ここで、検索結果にファセットを提供する必要があります。1 つ目はカテゴリです。これは、カテゴリがすべての製品に共通であるため、簡単に実装できます。作成したクエリでは、ファセットを有効にして、カテゴリをファセット フィールドとして渡すだけです。

ただし、製品の性質が異なると、異なる製品が存在する可能性があり、それらに対して定義されたファセットはほとんどありません。

どうすればそれらを事前に知り、それをsolr検索クエリに渡すことができるのでしょうか? solr は、検索結果とともにいくつかのクエリですべてのファセット フィールドを返しますか? はいの場合、どのように?

いいえの場合、さらに先に進むための正しい方法は何でしょうか。

4

3 に答える 3

0

ファセット フィルタリングを行うすべての一意のファセット フィールド名を渡すと、ファセット フィールドを持つすべてのレコードが取得されます。

于 2013-05-02T07:08:31.753 に答える
0

可能なすべてのフィールド (ファセットが必要なフィールド)Facet Fieldfacet.mincount=1.. で渡すと、solr データに少なくとも 1 回出現するフィールドのみが取得されます。

http://<hostname>:<portname>/solr/<core_name>/select?q:<fieldname>:<value>&fq=<field_name>:<value>&fl=<field1>,<field2>,<fieldn>&start=0&rows=10&facet=true&facet.field=<field1>&facet.field=<field2>&facet.field=<fieldn>&facet.mincount=1
于 2013-04-26T05:07:06.093 に答える
0

ファセット クエリ検索ですべての静的フィールド名を定義します。ヒットがない場合、そのフィールドの結果は返されません。

于 2013-04-25T16:53:55.020 に答える