Я новичок в ElasticSearch, у меня есть приложение, которое используетasticSearch для поиска ингредиентов в данном продукте или фрукте ... У меня проблема с подсчетом очков, если пользователь, например, записывает на пленку: "Vitamine d"
ElasticSearchдаст фразу "vitamine"
, которая имеет лучший результат, даже если фраза "Vitamine D"
существует, и обычно она должна иметь самый высокий балл.Я вижу, что если второе слово "d"
в моем случае - всего одна буква, то упругий поиск его игнорирует.
Я сделал еще один пример: "vitamine b12"
, и у меня был правильный счет.
Вот запрос, который приложение отправляет на сервер:
{
"from": 0,
"size": 5,
"query": {
"bool": {
"must": [
{
"match": {
"constNomFr": {
"query": "vitamine d"
}
}
}
],
"should": [
{
"prefix": {
"constNomFr": {
"value": "vitamine d",
"boost": 2
}
}
}
]
}
},
"_source": {
"excludes": [
"alimentDtos"
]
}
}
Что можно изменить, чтобы оно работало?
Большое спасибо.