你如何在solr中按日分组日期?

时间:2014-05-09 13:05:52

标签: sql date solr lucene grouping

在solr查询中按天或月分组日期的最佳方法是什么? 例如,如果我使用以下格式的日期:20140108180854746(实际上格式在这里并不重要,也可能是正常格式),是否有一种简单的方法可以组合几天或几个月。 有人建议保留一个字段只是为了它将分组的日子,而我看到的另一个解决方案是

&group=true&group.func=rint(div(ms(date_dt),mul(24,mul(60,mul(60,1000))))) 

这不是完全用户友好的,但我会猜测它。 关于那个的一般建议吗?

1 个答案:

答案 0 :(得分:5)

有内置的刻面方法来实现这一目标。您可以使用" facet.date.gap"实现这一点的param。看一下下面的例子。

q=solr&facet=true
&facet.date=j_createddate
&facet.date.gap=+1DAY,+2DAY,+3DAY,+10DAY

在这里,我们为j_createddate定义日期方面,即日期字段。然后我们为间隙1天,2天,3天和10天创建隔间

参考http://solr.pl/en/2010/08/23/the-scope-of-solr-faceting/& http://wiki.apache.org/solr/SimpleFacetParameters#facet.date.gap