Агрегации с динамическими данными/nested_objects ⇐ Elasticsearch aggregation
-
Anonymous
Агрегации с динамическими данными/nested_objects
Я пытаюсь агрегировать динамически отображаемые поля в ElasticSearch.
Например:
POST-тест/_doc/1 { "настройки": { "диапазон": { «значение»: 200, "display": "200 км" }, "передатчик": { «значение»: 1,2, "display": "1,2 ГГц" } } } Свойства в настройках являются динамическими. По сути, мне нужен такой запрос:
{ «размер»: 0, "запрос": { "match_all": {} }, "аггс": { "настройки": { "условия": { "field": "settings.*.display" } } } } Поскольку * здесь не работает, мне интересно, есть ли способ вернуть поля из безболезненного сценария, а затем, возможно, использовать агрегацию конвейера? Я не могу найти безболезненный эквивалент Object.keys(settings) в JavaScript.
Я видел подход с вложенными объектами, но мне бы хотелось этого избежать, так как может быть много свойств «настроек», а ограничение по умолчанию — 50 по сравнению с вложенными_объектами с 10 000 свойствами.
Я пытаюсь агрегировать динамически отображаемые поля в ElasticSearch.
Например:
POST-тест/_doc/1 { "настройки": { "диапазон": { «значение»: 200, "display": "200 км" }, "передатчик": { «значение»: 1,2, "display": "1,2 ГГц" } } } Свойства в настройках являются динамическими. По сути, мне нужен такой запрос:
{ «размер»: 0, "запрос": { "match_all": {} }, "аггс": { "настройки": { "условия": { "field": "settings.*.display" } } } } Поскольку * здесь не работает, мне интересно, есть ли способ вернуть поля из безболезненного сценария, а затем, возможно, использовать агрегацию конвейера? Я не могу найти безболезненный эквивалент Object.keys(settings) в JavaScript.
Я видел подход с вложенными объектами, но мне бы хотелось этого избежать, так как может быть много свойств «настроек», а ограничение по умолчанию — 50 по сравнению с вложенными_объектами с 10 000 свойствами.
Мобильная версия