Я пытаюсь агрегировать по динамическим полям (разные для разных документов) через elasticsearch. Документы выглядят следующим образом:
[{
"name": "galaxy note",
"price": 123,
"attributes": {
"type": "phone",
"weight": "140gm"
}
},{
"name": "shirt",
"price": 123,
"attributes": {
"type": "clothing",
"size": "m"
}
}]
Как вы можете видеть, изменения атрибутов в документах. То, что я пытаюсь достичь, - это заполнить поля этих атрибутов следующим образом:
{
aggregations: {
types: {
buckets: [{key: 'phone', count: 123}, {key: 'clothing', count: 12}]
}
}
}
Я пытаюсь использовать aggregation функцию elasticsearch для достижения этого, но не в состоянии найти правильный путь. Можно ли добиться посредством агрегации? Или я должен начать искать facets, подумал, что это кажется лишенным.