Скажем, у меня есть поле, определенное в моей схеме, а затем проиндексированное как «dmvf_rab_date_range».
<fieldType name="date_range" class="solr.DateRangeField" multiValued="true" indexed="true"/>
<dynamicField name="dmvf_*" type="date_range" indexed="true" stored="true" multiValued="true" />
А затем проиндексируйте набор значений, чтобы они возвращались следующим образом:
["[2018-04-07 TO 2018-04-07]",
"[2018-04-14 TO 2018-04-27]",
"[2018-05-05 TO 2018-05-05]",
"[2018-11-03 TO 2018-11-16]",
"[2018-11-24 TO 2019-01-04]"],
Я пытаюсь запросить так, чтобы я соответствовал одному значению многозначного поля или полностью попадал между одним значением. Но в настоящее время мой запрос просто проверяет, будет ли он частично совпадать с каким-либо из значений, и возвращает документ, если это так.
Например, если я запрашиваю:
&fq=dmvf_rab_date_range:[2018-11-10 TO 2018-11-24]
Этот документ будет возвращен даже в том случае, если он не совпадает или не попадает полностью между одним значением поля.