如何在 Solr 方面进行分组(或范围查询)

How to do a grouping(or range query) in Solr facet

全部:

[更新] 感谢 Andrea 的回答,目前我是这样使用的:

If you send also a facet.mincount=1 then the start bound is just an indication because Solr will return only those values (i.e. ranges) that have at least 1 document inside. So for instance you could indicate a very low value as start.

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

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


我对 Solr facet 还很陌生。假设我有一些文件有 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] How to get the result range by DAY?

[2] How to get facet result grouped by WEEK( or let us say 7 days)?

谢谢

这叫做范围分面。我建议您阅读 Solr wiki,但与此同时:

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

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