Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在solr中,如何按天分组日期?_Sql_Date_Solr_Lucene_Grouping - Fatal编程技术网

Sql 在solr中,如何按天分组日期?

Sql 在solr中,如何按天分组日期?,sql,date,solr,lucene,grouping,Sql,Date,Solr,Lucene,Grouping,在solr查询中,按天或月分组日期的最佳方式是什么? 例如,如果我有以下格式的日期:20140108180854746(实际上,这里的格式并不重要,最好是普通格式),是否有一种简单的方法可以根据日期或月份进行分组。 有人建议保留一个字段,只保留它将分组的天数,我看到的另一个解决方案是 &group=true&group.func=rint(div(ms(date_dt),mul(24,mul(60,mul(60,1000))))) 这并不完全是用户友好的,但我想它会做到的。

在solr查询中,按天或月分组日期的最佳方式是什么? 例如,如果我有以下格式的日期:
20140108180854746
(实际上,这里的格式并不重要,最好是普通格式),是否有一种简单的方法可以根据日期或月份进行分组。 有人建议保留一个字段,只保留它将分组的天数,我看到的另一个解决方案是

&group=true&group.func=rint(div(ms(date_dt),mul(24,mul(60,mul(60,1000))))) 
这并不完全是用户友好的,但我想它会做到的。
关于这方面有什么一般性的建议吗?

有内置的刻面方法来实现这一点。您可以使用“facet.date.gap”参数来实现这一点。看看下面的例子

q=solr&facet=true
&facet.date=j_createddate
&facet.date.gap=+1DAY,+2DAY,+3DAY,+10DAY
在这里,我们为j_createddate定义日期刻面,一个日期字段。然后我们为间隔1天、2天、3天和10天创建隔室


在Solr 3.1更好地使用facet.range中,不推荐使用reference&

facet.date