Задать вопрос

Как получить значение поля fields в маппинге Elasticsearch?

Есть такой маппинг, используемый для агрегации:

'mappings': {
    'my_type': {
        'properties': {
            'brand': {
                'type': 'string',
                'fields': {
                    'keyword': {
                        'type': 'string'
                    }
                }
            }
        }
    }
}


В результатах поиска выводится только brand. Как можно получить значение brand.keyword?
  • Вопрос задан
  • 326 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • REBRAIN
    EFK (Elastic & Fluent & Kibana)
    2 недели
    Далее
  • Яндекс Практикум
    Аналитик SOC
    4 месяца
    Далее
  • Merion Academy
    Базы данных с нуля
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Получить нельзя, можно только по нему искать. А из _sources можно получить только оригинальное поле brand. Дополнительные поля, которые создает эластик, попадают напрямую в люсиновский индекс в качестве термов, в вашем случае туда попадет полностью значение поля brand. Но это поле больше нигде светиться не будет. Из люсины значение этого поля не выдрать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы