全文查詢
術語 | 說明 |
---|---|
match | 執行全文查詢的標準查詢,包括模糊匹配和短語或近似查詢,分詞後查詢 |
match_phrase | 與match查詢類似,但用於匹配精確短語或單詞近似匹配 |
match_phrase_prefix | 與match_phrase查詢類似,但對最後一個單詞進行通配符搜索 |
multi_match | match查詢的多字段版本 |
common_terms | 一個更專門的查詢,讓更多的偏好非常用的單詞 |
query_string | 支持緊湊的Lucene 查詢字符串語法,允許您在單個查詢字符串中指定AND |
simple_query_string | query_string適合直接向用戶公開 的語法更簡單,更健壯的版本 |
過濾查詢
術語 | 說明 |
---|---|
term | 查找某字段裏面有某個關鍵詞的文檔,不進行分詞查詢,一般結合bool使用 |
terms | 查找包含指定字段中指定的任何確切術語的文檔 |
terms_set | 查找與一個或多個指定條款匹配的文檔。必須匹配的術語數量取決於指定的最小值應匹配字段或腳本 |
range | 查找指定字段包含指定範圍內的值(日期,數字或字符串)的文檔 |
exists | 查找指定字段包含任何非空值的文檔 |
prefix | 查找指定字段中包含以指定的確切前綴開頭的術語的文檔 |
wildcard | 查找指定字段包含與指定模式匹配的術語的文檔,其中模式支持單字符通配符(?)和多字符通配符(*) |
regexp | 查找指定字段中包含與指定正則表達式匹配的字詞的文檔 |
fuzzy | 查找指定字段中包含與指定字詞模糊相似的字詞的文檔。測量模糊度的 Levenshtein編輯距離 爲1或2 |
type | 查找指定類型的文檔 |
ids | 查找具有指定類型和ID的文檔 |
range支持的符號 | 說明 |
---|---|
gte | 大於或等於 |
gt | 大於 |
lte | 小於或等於 |
lt | 小於 |
boost | 設置查詢的權值,默認爲1.0 |
時間運算 | 說明 |
---|---|
now-1h | 基準日期,也可以是具體日期,比如2018-01-01,使用具體日期的時候要使用 |
now-20y | 計算公式,主要有3種:+1h,-1d,/d(將時間舍入到天) |
2018-01-01||+1M/d | 使用精確的日期,並且精確到天 |
複合查詢
術語 | 說明 |
---|---|
constant_score | 包含另一個查詢的查詢,但在過濾器上下文中執行該查詢。所有匹配的文件都被賦予相同的“常量” _score |
bool | 配合查詢字句使用。在must和should 條款有他們的分數相結合-更匹配的條款,更好的-而must_not和filter條款在過濾器上下文中執行 |
dis_max | 一個接受多個查詢的查詢,並返回與任何查詢子句匹配的任何文檔。雖然bool查詢結合了所有匹配查詢的分數,但dis_max查詢使用單個最佳匹配查詢子句的分數 |
function_score | 使用函數修改主查詢返回的分數,以考慮流行度,新近度,距離或使用腳本實現的自定義算法等因素 |
boosting | 返回與positive查詢匹配的文檔,但會降低也與negative查詢匹配的文檔的得分 |
bool字句 | 說明 |
---|---|
must | 必須符合的條件字段 |
should | 符合條件的 |
must_not | 不必須符合的 |
filter | 過濾器 |