1.精確匹配查詢
我們首先來看最爲常用的 term
查詢, 可以用它處理數字(numbers)、布爾值(Booleans)、日期(dates)以及文本(text)。
在
Elasticsearch 的查詢表達式(query DSL)中,我們可以使用 term
查詢達到相同的目的。 term
查詢會查找我們指定的精確值。作爲其本身, term
查詢是簡單的。它接受一個字段名以及我們希望查找的數值:
{ "term" : { "price" : 20 } }
通常當查找一個精確值的時候,我們不希望對查詢進行評分計算。只希望對文檔進行包括或排除的計算,所以我們會使用 constant_score
查詢以非評分模式來執行 term
查詢並以一作爲統一評分。
最終組合的結果是一個 constant_score
查詢,它包含一個 term
查詢:
GET /my_store/products/_search { "query" : { "constant_score" : { "filter" : { "term" : { "price" : 20 } } } } }