Значение агрегации внутри массива arraysesearch - PullRequest
2 голосов
/ 20 января 2020

У меня есть json структура, подобная этой:

[{
    'id': 1,
    'result': [{
        "score": 0.0,
        "result_rules": [{
                "rule_id": "sr-1",
            },
            {
                "rule_id": "sr-2",
            }
        ]
    }]
},
{
    'id': 2,
    'result': [{
        "score": 0.0,
        "result_rules": [{
                "rule_id": "sr-1",
            },
            {
                "rule_id": "sr-4",
            }
        ]
    }]
}]

Я хочу сосчитать rule_id, поэтому результат будет:

[
    {
        'rule_id': 'sr-1',
        'doc_count': 2
    },
    {
        'rule_id': 'sr-2',
        'doc_count': 1
    },
    {
        'rule_id': 'sr-4',
        'doc_count': 1
    }
]

Я пробовал что-то вроде это, но показывает пустую агрегацию

{
    "aggs":{
        "group_by_rule_id":{
            "terms":{
                "field": "result.result_rules.rule_id.keyword"
            }
        }
    }
}

1 Ответ

1 голос
/ 20 января 2020

Для агрегации на вложенной структуре вам придется использовать вложенную агрегацию.

См. Пример для ES DO C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...