2016-08-21 8 views
0

の項目でカウント、それは次のようになります。ElasticSearch:私はカテゴリの配列を持っているすべてのドキュメントの配列

[{ 
    "id": 1, 
    "level": 1 
}, { 
    "id": 2, 
    "level": 2 
}, { 
    "id": 3, 
    "level": 3 
}] 

にはどうすればレベル3 category.idによると、すべての文書で、私が持っているカテゴリをカウントすることができます?

+0

のplsはより多くの情報を追加したり、スキーマがgood.thxだろうと一緒にクエリを投稿します – user3775217

答えて

0

カテゴリ配列はネストされたフィールドでなければなりません。残りは集計によって処理できます。以下のコードに似たものを試してみてください。

"aggregations": { 
"mainAgg": { 
    "nested": { 
    "path": "category" 
    }, 
    "aggs": { 
    "levelFilter": { 
     -- filter condition 
     "filter": { 
     "term": { 
      "level": 3 
     }, 
      -- count aggregation 
     "aggs": { 
      "count": { 
      "value_count": { 
       "field": "level" 
      } 
      } 
     } 
     } 
    } 
    } 
} 

}

関連する問題