2015-04-06 47 views
0

所有:如何做一个分组(或范围查询)在Solr的小

[更新]感谢安德烈的回答,目前我使用这种方式:

如果你也有送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]如何获得由天的结果范围是多少?

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

感谢

回答

1

这就是所谓的范围小面。我建议你阅读Solr的维基但在此期间:

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

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

+0

谢谢,但我不太明白你是如何得到这个查询的日期范围? – Kuan

+0

从wiki,它似乎face.range参数是指定哪个字段来搜索,而不是从facet.range.start获得价值 – Kuan

+0

是的抱歉,我的回复是逃脱 – Andrea