我有作为多值 dateRangeField的salesperson
索引。availableDateRange
以下是availableDateRange
字段的架构
<fields>
<field name="availableDateRange" type="daterange" indexed="true" stored="true" multiValued="true" required="false"/>
</fields>
<types>
<fieldtype name="daterange" class="solr.DateRangeField"/>
</types>
如果我从 2017-07-15 到 207-07-17 搜索可用的销售人员,如下所示
avalableRange:"[2017-07-15 TO 2017-07-17]"
在搜索结果中,我得到 2 个结果,如下所示:
availableRange: [
"[2017-01-01T00:00:00Z TO 2017-07-15T00:00:00Z]",
"[2017-09-01T00:00:00Z TO 2017-12-31T00:00:00Z]"
]
availableRange: [
"[2017-07-17T00:00:00Z TO 2017-07-19T00:00:00Z]"
]
当前搜索 dateRange [2017-07-15 TO 2017-07-17] 显示的销售人员甚至在 7 月 15 日至 7 月 17 日的任何一个匹配日都有空。
当前查询的行为类似于
availableRange:"2017-07-15" OR availableRange:"2017-07-16" OR availableRange:"2017-07-17"
我的问题是:我怎样才能获得在搜索范围的所有日子里都有空的所有销售人员(即提到的日期范围 7 月 15、16、17 日的所有日子)
查询的行为应该类似于:
availableRange:"2017-07-15" AND availableRange:"2017-07-16" AND availableRange:"2017-07-17"
但是对于大日期范围(例如 2017-01-01 TO 2017-12-31),使用 AND 不是一个可行的解决方案
任何人都可以帮助我找到一个可行和有效的解决方案。