У меня есть следующий пользовательский анализатор определен:Синоним анализатор не дает результатам
{
"analysis": {
"analyzer": {
"products-alike": {
"filter": [
"lowercase",
"product-db"
],
"tokenizer": "standard"
}
},
"filter": {
"product-db": {
"type": "synonym",
"synonyms": [
"Xiaomi,Mi,Mi3,Mi4,Redmi",
"OnePlus,OnePlusOne,OnePlus1,OnePlus2"
]
}
}
}
}
Теперь я отобразил это в нужное поле и сделал обработку запросов. Но есть результаты только для точных совпадений, например, если я запрашиваю Xiaomi
, есть результаты, но Mi
или Mi3
не получит меня. Почему это происходит, и может ли кто-нибудь помочь сделать это?
ли изменить порядок применения фильтров filter: ["products-db", "lowercase"], выдает тот же эффект? –
Да, возможно, но это заставило бы вас зависеть от точного корпуса, и я бы не стал на это рассчитывать. Всегда предпочтительнее обрабатывать все в нижнем регистре (например, сравнивать яблоки с яблоками) – Val