Есть каталог товаров, хочу сделать фасеты по брендам.
Вот так выглядит
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, то тогда все фасеты будут выдаваться в одном регистре, чего тоже бы не хотелось.