Solr匹配给定月份的任何日期

时间:2013-01-11 13:04:56

标签: solr

在Solr中,是否可以搜索给定月份中的所有记录,而不管年份或日期?例如,下面的代码段将匹配01.01.2013上的所有内容 - 我想要做的就是找到01.01上任何一年出现的所有内容。

date:2013-01-01T00:00:00Z

1 个答案:

答案 0 :(得分:1)

不,不是日期字段。 Solr只能处理日期范围,就像它只处理数字范围或字符串范围一样。要求Solr仅根据一个月的第一天查询日期字段,就像要求它在数字字段上查询而只给你奇数,或查询字符串而只查询以元音开头的字符串。

您需要做的是将日期分解为月份和日期组件,然后查询这些组件。如果您的基本字段为sale_date,则还需要sale_monthsale_day。然后,您可以在month:3查询以获取3月份发生的所有事件,或day:1并获取任意月份第一天的所有内容,或month:3 AND day:1获取3月1日发生的所有事情