我的目标是获取过去一年中每个月的文档数量。这是我针对 Solr 1.4 使用的多面查询:
q=*:*
rows=0
facet=on
facet.date=myDateField
facet.date.start=NOW-11MONTH/MONTH
facet.date.end=NOW+1MONTH/MONTH
facet.date.gap=+1MONTH
此查询产生的范围是2013-01-01T00:00:00Z to 2013-02-01T00:00:00Z
,包括上限,这意味着T00:00:00Z
每个月的第一天被计入 2 个不同的范围。
Solr 3.1 引入了facet.date.include
可以解决我的问题的参数,除了现在升级不是一个选项。是否有解决方法来实现相同的功能?我试过facet.date.gap=+1MONTH-1SECOND
哪个很接近,但不够接近。它会在结束日期不正确的情况下产生类似的结果:
2012-09-01T00:00:00Z
2012-09-30T23:59:59Z
2012-10-30T23:59:58Z
2012-11-30T23:59:57Z
2012-12-30T23:59:56Z
2013-01-30T23:59:55Z
2013-02-28T23:59:54Z
2013-03-28T23:59:53Z
2013-04-28T23:59:52Z