如何在Solr facet中进行分组(或范围查询)

时间:2015-04-06 16:51:40

标签: solr facet

所有

[更新] 感谢Andrea的回答,目前我正在使用这种方式:

  

如果您还发送 facet.mincount = 1 ,那么起始界限只是一个   指示因为Solr将仅返回那些值(即范围)   里面至少有1个文件。所以你可以   表示一个非常低的值作为开始。

注意:这仅适用于我的情况,因此请使用您的判断

&facet=true&facet.range=createDate&facet.range.gap=%2B2DAY&facet.range.end=NOW&facet.range.start=NOW-1000DAY&facet.mincount=1


我对Solr方面很陌生。假设我有一些具有createDate的文档:

"2015-03-23T17:59:00Z",
"2015-03-23T22:13:00Z",
"2015-03-17T20:48:00Z",
"2015-03-19T17:43:00Z",
"2015-03-19T21:58:00Z",
"2015-03-16T19:13:00Z",
"2015-03-16T22:26:00Z",
"2015-03-13T21:33:00Z",
"2015-03-13T21:39:00Z",
"2015-03-13T23:27:00Z",
"2015-03-16T16:46:00Z",
"2015-03-18T17:44:00Z",
"2015-03-18T18:10:00Z",
"2015-03-18T18:11:00Z"
.......

我的问题是:

  

[1]如何通过DAY获得结果范围?

     

[2]如何获得由WEEK分组的分面结果(或者让我们说7天)?

由于

1 个答案:

答案 0 :(得分:1)

它被称为范围刻面。我建议你阅读Solr维基,但在此期间:

facet.range =(字段名称)
facet.range.start =(开始日期或值)
facet.range.end =(结束日期或价值)
facet.range.gap =(间隔值或表达式)

在您的情况下,您应该使用+ 1DAY或+ 7DAYS作为facet.range.gap。 还有其他参数,所以如果你看一下维基

它会更好