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为不显示搜索匹配