2017-09-02 148 views
1

假設我有以下數據:Elasticsearch,查詢陣列

{"field": [{"type": "A"}, {"type": "B"}]}, 
{"field": [{"type": "B"}]} 

你如何構建Elasticsearch一個查詢來獲取計數與特定的字段類型值的所有記錄,某一領域是一個數組?

+0

問題不說清楚。你想得到什麼確切的結果?標題中顯示「數組長度」,但問題的內容類似於「field.value」具有特定值的文檔數目。請您澄清並添加更具體的示例? –

+0

已更新標題。目標是獲得兩件事情確實:1)具有特定數組項目值的記錄總數,以及2)該數組字段非空的所有記錄的總長度 – Neps

回答

1

您可以使用Count API,用下面的查詢

查詢:

GET /index/index_type/_count 
{ 
    "query" : { 
     "term" : { "field.type" : "A" } 
    } 
} 

響應:

{ 
    "count" : <number of docs>, 
    "_shards" : { 
     "total" : 5, 
     "successful" : 5, 
     "failed" : 0 
    } 
}