我正在使用 SOLR 并存储销售人员可以访问客户的日期数组(旅行可以持续一天以上,具体取决于客户的要求)。对于每个销售人员,我都有一个给定月份可供销售人员使用的日期列表。还有其他字段,包括销售人员数据、地理位置信息等。
我熟悉范围查询,但似乎 SOLR 对数组的范围搜索的工作方式与我想要的不同——只要数组中的任何项目都是匹配的,那么范围就是匹配的)。我想向 SOLR 发送一个带有范围的查询,并且只有在数组中找到该范围内的所有日期时才返回匹配项。例如:
<arr name="available_dates">
<date>2012-04-30T00:00:00Z</date>
<date>2012-05-01T00:00:00Z</date>
<date>2012-05-02T00:00:00Z</date>
</arr>
-- should match --
available_dates:[2012-04-30T00:00:00.000Z TO 2012-05-02T00:00:00.000Z]
-- should not match as 2012-04-29 is not contained in available_dates --
available_dates:[2012-04-29T00:00:00.000Z TO 2012-05-02T00:00:00.000Z]
这是可能的还是我做错了?