如何在 Solr 中对分面计数进行分页?,我知道我有 facet.offset 来跳过记录,但是我怎么知道有多少条记录有分面?
问问题
3916 次
2 回答
2
您需要应用 Solr Patch SOLR-2242来获取 Facet 不同计数。
总计数有助于分页。
于 2012-05-26T09:36:26.003 回答
0
在 Solr 5.3 及以上版本中,使用 facet 获取文档总数,
对于那个简单的用途,
facet=on
例如
http://<solr-url>/select?facet=on&indent=on&q=*:*&rows=0&wt=json
然后你会得到一个 facets 对象作为响应,它看起来像,
{
"responseHeader":{
"zkConnected":true,
"status":0,
"QTime":3,
"params":{
"q":"*:*",
"indent":"on",
"rows":"0",
"facet":"on",
"wt":"json"}},
"response":{"numFound":8,"start":0,"maxScore":1.0,"docs":[]
},
"facet_counts":{
"facet_queries":{},
"facet_fields":{},
"facet_ranges":{},
"facet_intervals":{},
"facet_heatmaps":{}}
}
你numFound
从response
,这是该 solr 核心中的记录总数
其他方式
如果您有任何方面查询,请使用,
facet=on&json.facet={}
例如
http://<solr-url>/select?facet=on&indent=on&json.facet={}&q=*:*&rows=0&wt=json
然后你会得到一个 facets 对象作为响应,它看起来像,
{
"responseHeader":{
"zkConnected":true,
"status":0,
"QTime":3,
"params":{
"json.facet":"{}",
"q":"*:*",
"indent":"on",
"rows":"0",
"facet":"on",
"wt":"json"}},
"response":{"numFound":80,"start":0,"maxScore":1.0,"docs":[]
},
"facet_counts":{
"facet_queries":{},
"facet_fields":{},
"facet_ranges":{},
"facet_intervals":{},
"facet_heatmaps":{}},
"facets":{
"count":80}}
from facets
object 你得到count
的,这是最大记录数
于 2016-08-25T10:30:15.533 回答