3

solrのさまざまなファセットの数を取得する方法はありますか?

これはファセットの例です。

  • カメラ:20
  • コンピューター:80
  • モニター:40
  • ラップトップ:120
  • タブレット:30

ここで取得する必要があるのは、5つの異なる電子アイテムのように「5」です。もちろん、ファセットを数えることはできますが、中には多くのアイテムが含まれているものがあり、それらをフェッチして数えると、実際に速度が低下します。

4

5 に答える 5

4

ファセットの個別のカウントを取得するには、 SolrパッチSOLR-2242を適用する必要があります。

于 2012-04-08T05:08:38.383 に答える
3

SOLR 5.1では、関数「unique(state)」を備えた「JSONFacetAPI」になります。 http://yonik.com/solr-facet-functions/

于 2015-04-07T16:41:08.607 に答える
2

この質問に対する正確な答えではありませんが、ファセットの個別のカウントが誰にとっても機能しない場合は、次を使用してその情報を取得できますgroup.ngroups

group = true
group.field = [field you are faceting on]
group.ngroups = true

このアプローチの欠点は、グループ化されていない結果が必要な場合、クエリを2回実行する必要があることです。

于 2015-04-21T19:27:57.627 に答える
0

もちろんパッチをお勧めしますが、ここにあるように、単純なファセットに対してこれを行うための安っぽい方法は、ファセットの長さを2で割ったものを使用することですtype

facetCount = facet_counts.facet_fields.type.length/2

于 2014-08-18T17:14:55.657 に答える
0

このGETリクエストを使用します。

http://localhost:8983/solr/core_name/select?json.facet={x:"unique(electronic_items)"}&q=*:*&rows=0
于 2019-10-10T14:01:38.270 に答える