1
たとえば、弾性検索でフィルタを使用して集計する必要があります。 私はESで、ネストした型としてインデックス付けされる。ここネストされたフィールドの上に弾性検索でフィルタを使用して集計するクエリ
{
"id":1,
"name":"1",
"url":"1png20160612115249190.png",
"description": "this is a good asset",
"alt_sizes": ["hi","yes"],
"tags":[{ "id":"1", "name":"Movies"},
{ "id":"2", "name":"Sports"}],
"packs":[{ "id":"1", "name":"pack1", "partnerId":"1"},
{ "id":"2", "name":"pack2 test", "partnerId":"2"}],
"category":[{ "id":"1", "name":"cat1"},
{ "id":"2", "name":"cat2"}],
"appPartner":[{ "id":"1", "name":"par1"},
{ "id":"2", "name":"par2"}],
"created_time":"2016-07-26 00:00:00",
"updated_time":"2016-07-26 10:45:43"
}
パックとして、文書等の弾性検索に保存されている資産を持っています。 パックには、id、name、およびpartnerIdの配列があります。 は今、私が何をしたい私はこのクエリは、すべてのネストされたパックの上に集約私を与えるこのクエリに
{
"size":0,
"query": {
"nested": {
"path":"appPartner",
"query": {
"bool": {
"must": [
{"match": {"appPartner.id": "1"}}
]
}
}
}
},
"aggs": {
"packs" : {
"nested" : {
"path" : "packs"
},
"aggs" : {
"id" : {
"terms" : {
"field" : "packs.id"
}
,
"aggs":{
"name":{
"terms" : {
"field" : "packs.name"
}
}
}
}
}
}
}
}
を試してみました= 10
PARTNERID持つすべてのパックをしたいのような特定のPARTNERIDとパックに集約することですids。私は= PARTNERIDで、ネストされたすべてのpackidsを超える集約する必要がある
おかげで、感謝 – Nipun
を動作するかどうかを確認します – Nipun