のインデックスはですが、これは多値のdateRangeFieldです。続き は、私は、検索結果では Solr 6 DateRangeField完全一致の検索
avalableRange:"[2017-07-15 TO 2017-07-17]"
次のように2017年7月15日から207-07-17に利用できる販売員を検索する場合、私は2の結果を取得しています
availableDateRange
フィールド
<fields>
<field name="availableDateRange" type="daterange" indexed="true" stored="true" multiValued="true" required="false"/>
</fields>
<types>
<fieldtype name="daterange" class="solr.DateRangeField"/>
</types>
のスキーマです以下のように:現在
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年7月15日2017年7月17日TO]私に1つのマッチング日のいずれでも利用可能である販売員を示しています15分から17分まで
現在のクエリは、私の質問がある
availableRange:"2017-07-15" OR availableRange:"2017-07-16" OR availableRange:"2017-07-17"
のように動作している:どのように私が言及した日付範囲15の(つまり、すべての日で検索範囲のすべての日に利用可能なすべての販売員を得ることができます、16,17は7月)
クエリは次のように振る舞うべき:
availableRange:"2017-07-15" AND availableRange:"2017-07-16" AND availableRange:"2017-07-17"
をしかし使用して現実的ではありませんソリューション、大きな日付範囲(例えば、 2017-01-01 TO 2017-12-31)
実現可能で効率的な解決策を見つけてください。
ありがとうございます。 の参照としてhttps://cwiki.apache.org/confluence/display/solr/Working+with+Dates 3つの有理な述語(すなわち、交差(デフォルト)、包含、内部)があります。 他の2つの有理述語(すなわち、交差(デフォルト)、内部)をどのように使用すればよいか、 –