方面范围超过16个月的Solr查询返回错误的NOW值

时间:2016-06-29 17:02:42

标签: solr solr4 faceted-search

我有一个Solr查询:

q=*%3A*&rows=0&wt=json&indent=true&facet=true&facet.range.start=NOW-24MONTHS&facet.range=create_date_tdt&facet.range.end=NOW&facet.range.gap=%2B1MONTH

此查询中唯一更改的是facet.range.start值,该值可以是NOW-12MONTHSNOW-24MONTHSNOW-36MONTHS

对于NOW-12MONTHS,结果集"end": "2016-06-29T16:38:11.959Z"

对于NOW-24MONTHS,结果集"end": "2016-07-28T16:15:17.087Z"

这些查询分开运行几分钟,因此最终值不应该是下个月。

我正在使用Solr 4.8.1

1 个答案:

答案 0 :(得分:0)

日期范围的通常良好做法是确保数学的粒度相同。这意味着现在 NOW / MONTH 为每月粒度。您可能需要稍后调整结束日期,以确保今天包含新的表示法(例如,结束= NOW / MONTH + 1MONTH)。

我会测试一下,看看问题是否消失。

此外,在查询中未分配NOW对于缓存效率非常低,因为查询无法重复使用。