bool查支持filter子句,這些子句容許咱們使用查詢來限制將與其餘子句匹配的文檔,而不會更改計算得分的方式。web
GET /bank/_search { "query": { "bool": { "must": { "match_all": {} }, "filter": { "range": { "balance": { "gte": 20000, "lte": 30000 } } } } } }
bool查詢包含match_all查詢(查詢部分)和range查詢(過濾部分)。咱們能夠將任何其餘查詢替換爲查詢和過濾器部分svg
大體等同於SQL GROUP BY和SQL聚合函數函數
GET / bank / _search { 「size」:0, 「aggs」:{ 「group_by_state」:{ 「terms」:{ 「field」:「state.keyword」 }, 「aggs」:{ 「average_balance」:{ 「avg 「:{ 」field「:」balance「 } } } } } } 意思相似於 SELECT state, COUNT(*) FROM bank GROUP BY state ORDER BY COUNT(*) DESC LIMIT 10;(默認前十個) 設置size=0爲不顯示搜索匹配