2017-09-02 120 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 
    } 
}