0

在 Solr 中,如果您有一条索引数据,并且在该数据中您有一组日期值,您如何查询索引并询问 X 和 Y 日期之间的事件?

例如,如果我有一个 Event Venues 列表,每个 Event Venues 都有几十个事件(单天、全天或多天),您将如何构建过滤器以返回事件在指定的开始日期和结束日期之间的场地搜索?

现在,如果我在表单中搜索并将其提交给 Solr,查询字符串如下所示:

&fq=dm_event_start_date\:value:["2013-01-04T05:00:00Z" TO *]
&fq=dm_event_end_date\:value:[* TO "2013-01-08T05:00:00Z"]
&fq=bm_tickets_left\:value:"TRUE"

我真正想问的是在 1 月 4 日发生或开始的事件,不要持续到 1 月 8 日之后,而且还有票。

我觉得我得到的回报是任何介于两个日期之间的事件,或者有可用的门票 - 不一定与日期匹配。

4

1 回答 1

0

日期字段值可能需要超出范围查询中的引号,例如:-

&fq=dm_event_start_date:value:[2013-01-04T05:00:00Z TO *]
&fq=dm_event_end_date:value:[* TO 2013-01-08T05:00:00Z]
&fq=bm_tickets_left:value:true

bm_tickets_left需要只是字符串值。

于 2012-11-14T04:26:14.273 回答