Query string 指的是使用者在「搜尋輸入框」所輸入的搜尋字串。
Simple query string 定義簡化的查詢語法,對文件做搜尋。
simple_query_string 支援下列運算元:
+
表示 AND 運算
|
表示 OR 運算
-
表示 NOT 運算
"
將某些字元以雙引號包起來,表示要搜尋的 phrase。
*
放在某個 term 的最後,表示 prefix query。僅對英文、梵巴、藏文羅馬轉寫有效。
( )
半形括形內的運算優先執行。
~N
N 是一個數字,只允許 0 或 1 或 2. ~N 放在一個 word 後面表示為模糊搜尋 (fuzzy search) 的
編輯距離
(edit distance)。edit distance 的意思是,某個字串要改變幾個字元,才能符合另一個字串。例如:samyuktamano~2
~N
N 是一個數字,~N 放在一個 phrase 後面,表示為 NEAR 的距離。例如:「"苦諦"~2」,「苦聖諦」、「苦集聖諦」都會符合。
這些運算元的行為會因為「預設運算元」(default_operator) 的不同,而可能有所改變。
例如「foo bar -baz」這個 query string,本來的目的可能想要找到包含 foo 或 bar 但是「不包含 baz」的文件。
但是因為 default_operator 是 OR,這個搜尋會變成:找出包含 foo 或 bar 以及任何不包含 baz 的文件。
為了達成原來的目的,要將 query string 改為「foo bar +-baz」。