ブール演算子

ブール演算子を使用することにより、複数の用語を論理演算子で組み合わせることができます。

Lucene では、次のブール演算子がサポートされます。

AND && + OR || NOT ! -
重要: Lucene ブール演算子の ANDORNOT では大文字と小文字が区別され、以下のように書き込む必要があります。
AND
&&
AND 演算子は、2 つの用語または語句を関連付け、レコード内にそれらの用語または語句の両方が含まれる場合に、一致するレコードを検出します。 これは、2 つの集合の論理積に匹敵します。 単語 AND の代わりに、シンボル && を使用することができます。
  • Beta1 という単語と Beta2 test という語句の両方を含むレコードを検索するには、次のクエリーを使用します。
    Beta1 AND "Beta2 test"
  • Beta1 という単語と Beta2 test という語句を含み、かつ 7.1 を含むレコードを検索するには、次のクエリーを使用します。
    Beta1 AND "Beta2 test" AND 7.1
    クエリーから返される結果は以下のとおり同様です。
    Beta1 && "Beta2 test" AND 7.1
+
+ 演算子は、必須演算子とも呼ばれ、レコード フィールド内のいずれかに + に続く用語または語句があることを示します。
  • Beta1 という単語を必ず含み、Beta2 という単語を含む可能性があるレコードを検索するには、次のクエリーを使用します。
    +Beta1 Beta2
OR
||
OR 演算子は、2 つの用語または語句を関連付け、レコード内にそれらの用語または語句のいずれかが含まれる場合は、一致するレコードを検出します。 これは、2 つの集合の和集合に匹敵します。 単語 OR の代わりに、シンボル || を使用することができます。
  • Beta1 という単語または Beta2 test という語句のいずれかを含むレコードを検索するには、次のクエリーを使用します。
    Beta1 OR "Beta2 test"
    クエリーから返される結果は以下のとおり同様です。
    Beta1 || "Beta2 test"
NOT
NOT 演算子は、NOT 演算子の後に続く用語または語句を含むレコードを除外します。これは、集合における差集合に匹敵します。
  • Beta1 という単語を含むが、Beta2 という単語を含まないレコードを検索するには、次のクエリーを使用します。
    Beta1 NOT Beta2
重要: NOT 演算子は、1 つの用語または語句のみで使用することはできません。 例えば、NOT Beta1 と指定して検索した場合、結果は返されません。
-
!
- 演算子は、禁止演算子とも呼ばれ、記号 - に続く用語または語句を含むレコードを除外します。演算子 - の代わりに、記号 ! を使用することができます。
  • Beta1 という単語を含むが、Beta2 という単語を含まないレコードを検索するには、次のクエリーを使用します。
    Beta1 -Beta2
    クエリーから返される結果は以下のとおりです。
    -Beta2 Beta1
    !Beta2 Beta1

フィードバック