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

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

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


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

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

Войти через центр авторизации
Похожие вопросы