布林運算子

布林運算子容許詞彙透過邏輯運算子相結合。

Lucene 支援下列布林運算子:

AND && + OR || NOT ! -
小心: Lucene 布林運算子 ANDORNOT 需區分大小寫,且必須如同以下所顯示範例來撰寫。
AND
&&
AND 運算子會使兩個詞彙或詞組產生關聯,並尋找兩個詞彙或詞組都存在同一個記錄的符合記錄。這等同於兩個集的交集。您可以使用 && 符號來取代 AND 單字。
範例:
  • 若要搜尋包含單字 Beta1 與詞組 Beta2 test 的記錄,請使用下列查詢:
    Beta1 AND "Beta2 test"
  • 若要搜尋包含單字 Beta1、詞組 Beta2 test7.1 的記錄,請使用下列查詢:
    Beta1 AND "Beta2 test" AND 7.1
    下列查詢會傳回相同的結果:
    Beta1 && "Beta2 test" AND 7.1
+
+ 運算子(也稱為必要運算子)指示位於 + 運算子後面的詞彙或詞組存在於記錄的某個欄位内。
範例:
  • 若要搜尋必須包含單字 Beta1 且可能包含 Beta2 的記錄,請使用下列查詢:
    +Beta1 Beta2
OR
||
OR 運算子會使兩個詞彙或詞組產生關聯,並尋找詞彙或詞組其中之一存在於記錄的符合記錄。這等同於兩個集的聯集。您可以使用 || 符號來取代 OR 單字。
範例:
  • 若要搜尋包含單字 Beta1 或詞組 Beta2 test 的記錄,請使用下列查詢:
    Beta1 OR "Beta2 test"
    下列查詢會傳回相同的結果:
    Beta1 || "Beta2 test"
NOT
NOT 運算子會排除在 NOT 運算子後面所包含詞彙或詞組的記錄。這等同於集內的差異。
範例:
  • 若要搜尋包含單字 Beta1 但不包含 Beta2 的記錄,請使用下列查詢:
    Beta1 NOT Beta2
小心: NOT 運算子不能只用於一個詞彙或詞組。例如,下列搜尋將不會傳回結果:NOT Beta1
-
!
- 運算子(即禁止運算子)會排除在 - 符號後面所包含詞彙或詞組的記錄。您可以使用 ! 符號來取代 - 運算子。
範例:
  • 若要搜尋包含單字 Beta1 但不包含 Beta2 的記錄,請使用下列查詢:
    Beta1 -Beta2
    下列查詢會傳回相同的結果:
    -Beta2 Beta1
    !Beta2 Beta1

Feedback