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爲不顯示搜索匹配
相關文章
相關標籤/搜索