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

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

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


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

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

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