我将日期以字符串的形式存储在Solr中。例如,"HIRE_DATE":"2012-10-01",表示不同的年份。是否有人可以帮助找到搜索2012年第一季度或特定月份的HIRE_DATE的正确方法。
无法使用HIRE_DATE搜索数据:“2012-10”。
发布于 2021-02-04 02:36:58
如果它像你写的那样存储在string字段类型中,并且你已经用正确的日期戳(即2020-09-01,而不是2020-9-1)索引了内容,你可以这样做:
# only september, 2020
HIRE_DATE:[2020-09 TO 2020-10}
# or
HIRE_DATE:2020-09*对于一个季度,您可以修改第一个:
# q4/2020
HIRE_DATE:[2020-10 TO 2021-01}
# You can also use inclusive and full datestamps:
HIRE_DATE:[2020-10-01 TO 2020-12-31]这是可行的,因为这些日期戳作为文本的词法排序顺序将与字符串表示的下限/上限正确匹配。如果索引格式没有正确的格式(如2020-9-1),这将不起作用,因为2020-9在2020-10之后排序。但是2020-09在2020-10之前排序,所以这个策略可以像预期的那样工作。
https://stackoverflow.com/questions/66032020
复制相似问题