次のフィルター クエリは、結果を返しません (*:* をクエリとして使用)。
-startDate:[* TO *] OR startDate:[* TO NOW/DAY+1DAY]
しかし、次の条件のみでフィルタリングした場合:
-startDate:[* TO *]
3 つの結果が得られます。
のみでフィルタリングする場合:
startDate:[* TO NOW/DAY+1DAY]
161件の結果が得られました。
結合された FQ がゼロの結果を返すのはなぜですか? 私が欲しいのは、開始日が null または開始日が今日より前のドキュメントを返すフィルターです。
編集:
Solr 4.2.1.2013.03.26.08.26.55 を使用しています
編集:
奇妙に聞こえるかもしれませんが、同僚が次のように 2 つの部分に括弧を付けることを提案しました。
(-startDate:[* TO *]) OR (startDate:[* TO NOW/DAY+1DAY])
そして、どういうわけかそれはうまくいきました。なぜそれが違いを生んだのか、私はまだ興味があります。誰かが光を当てることができることを願っています。
ありがとう!