3

有没有办法计算 solr 中不同方面的数量?

这是一个示例方面:

  • 相机:20
  • 电脑:80
  • 显示器:40
  • 笔记本电脑:120
  • 平板电脑:30

我需要在这里得到“5”,就像 5 种不同的电子产品一样。当然,我可以计算方面,但其中一些内部有很多项目,并且获取和计算它们确实会减慢速度。

4

5 回答 5

4

您需要应用 Solr Patch SOLR-2242来获取 Facet 不同计数。

于 2012-04-08T05:08:38.383 回答
3

在 SOLR 5.1 中将是一个带有函数“unique(state)”的“JSON Facet API”。 http://yonik.com/solr-facet-functions/

于 2015-04-07T16:41:08.607 回答
2

不是这个问题的确切答案,但如果 facet distinct count 对任何人都不起作用,您可以使用以下方法获取该信息group.ngroups

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

这种方法的缺点是,如果您想要未分组的结果,则必须再次运行查询。

于 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 回答