elk之elasticsearch search bool(2)

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为不显示搜索匹配
相关文章
相关标签/搜索