如何在Solr中我可以对一个方面进行分页?我知道我有facet.offset来跳过记录,但我怎么知道有多少总记录有这个方面?
答案 0 :(得分:2)
您需要应用Solr Patch SOLR-2242才能获得Facet不同的计数 总计数可能有助于分页。
答案 1 :(得分: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}}
从facets
对象得到count
,这是最大记录数