1

Solr 6.5.1 には、*_txt_enフィールドとstringドキュメント タイプ フィールドがあります。これらのフィールドで、次の形式のクエリを作成したいと思います。

特定のドキュメント タイプのすべてのドキュメントに一致します。

  1. 特定のフレーズ (「フレーズ 1」、「フレーズ 2」) が一致するには、テキスト フィールドに含まれている必要があります。
  2. ただし、他のフレーズ (「フレーズ 3」、「フレーズ 4」、「フレーズ 5」) もこのフィールドにある場合は、一致しません。

私が書いた現在の Solr クエリは次のようになります。

(documenttype:references AND (field:"phrase one" OR field:"phrase two")) AND NOT field:"phrase three" AND NOT field:"phrase four" AND NOT field:"phrase five"

私が考えることができる代替案は次のとおりです。

(documenttype:references AND (field:"phrase one" OR field:"phrase two")) AND NOT (field:"phrase three" OR field:"phrase four" OR field:"phrase five")

上記のクエリは、いくつかの例のおもちゃのデータ セットで機能するようです。しかし、Solr には、いくつかの不文律があり、明らかな落とし穴ではないことがわかりました。特に、ブールクエリの一部としての否定についてはそうです。

私が説明したクエリの場合、これはそれらを形成する正しい構文ですか?

4

1 に答える 1