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

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

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


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

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

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