un1t
@un1t

Как сделать фасеты в ElasticSearch регистронезависимыми?

Есть каталог товаров, хочу сделать фасеты по брендам.

Вот так выглядит mapping:
'properties': {
                'id': {'type': 'integer'},
                'name': {'type': 'string', 'analyzer': 'russian_morphology'},
                'price': {'type': 'integer'},
                'brand': {'type': 'string', 'index': 'not_analyzed'},
            }


Фасеты строятся нормально, но проблема следующая. Один бренд можно написать по разному - "adidas", "Adidas", "ADIDAS". Соответственно в фасетах будет несколько вариантов написания. В принципе я могу их все склеить перед выводом пользователю, но поиск по этому полю чувствителен к регистру (т.к. not_analyzed). Если указать analyzer - lowercase, то тогда все фасеты будут выдаваться в одном регистре, чего тоже бы не хотелось.
  • Вопрос задан
  • 3116 просмотров
Пригласить эксперта
Ответы на вопрос 1
dmitry-polushkin
@dmitry-polushkin
Инженер программного обеспечения
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 1 000 000 до 1 200 000 ₽
от 300 000 до 500 000 ₽
Сима-ленд Екатеринбург
от 120 000 до 250 000 ₽
25 апр. 2024, в 09:29
2500 руб./за проект
25 апр. 2024, в 09:27
4000 руб./за проект
25 апр. 2024, в 09:20
10000 руб./за проект