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

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

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

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


В результатах поиска выводится только brand. Как можно получить значение brand.keyword?
  • Вопрос задан
  • 299 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Получить нельзя, можно только по нему искать. А из _sources можно получить только оригинальное поле brand. Дополнительные поля, которые создает эластик, попадают напрямую в люсиновский индекс в качестве термов, в вашем случае туда попадет полностью значение поля brand. Но это поле больше нигде светиться не будет. Из люсины значение этого поля не выдрать.
Ответ написан
Ваш ответ на вопрос

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

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