将单个 solr 构面字段分组到范围或桶中
Group single solr facet field into ranges or bucket
对于 returns 多个 facet.field
的分面 Solr 搜索,有没有办法将其中一个字段分组到范围内?
例如:
'facet': true,
'facetJson': {},
'facet.query': query,
'facet.mincount': 1,
'facet.field': ['field1', 'field2'],
对于 field2
,它 returns 有很多不同的数字,我想将其分组到桶中:
[0]: 50,
[1 - 1000]: 75,
[1001 - 5000]: 80
我看到有一个 facet.range=field2
,但不确定如何将它多次用于 2+ 个不同的字段范围?
您可以 use the syntax <field>.facet.<property>
为每个字段指定特定属性(或者您可以使用 JSON Facet API)。
但是,由于您想要任意范围(甚至不是间隔),因此您必须使用 facet.query
而不是 facet.range
:
facet.query=field2:0&
facet.query=field2:[1 TO 1000]&
facet.query=field2:[1001 TO 5000]&
facet.query=field2:[5001 TO *]
对于 returns 多个 facet.field
的分面 Solr 搜索,有没有办法将其中一个字段分组到范围内?
例如:
'facet': true,
'facetJson': {},
'facet.query': query,
'facet.mincount': 1,
'facet.field': ['field1', 'field2'],
对于 field2
,它 returns 有很多不同的数字,我想将其分组到桶中:
[0]: 50,
[1 - 1000]: 75,
[1001 - 5000]: 80
我看到有一个 facet.range=field2
,但不确定如何将它多次用于 2+ 个不同的字段范围?
您可以 use the syntax <field>.facet.<property>
为每个字段指定特定属性(或者您可以使用 JSON Facet API)。
但是,由于您想要任意范围(甚至不是间隔),因此您必须使用 facet.query
而不是 facet.range
:
facet.query=field2:0&
facet.query=field2:[1 TO 1000]&
facet.query=field2:[1001 TO 5000]&
facet.query=field2:[5001 TO *]