#elasticsearch #autosuggest #search-suggestion #phrase
#elasticsearch #автоматическое предложение #поиск-предложение #фраза
Вопрос:
У меня есть Elasticsearch-7.8.1, работающий в настройке кластера с 3 узлами. Я использую запрос соответствия по полям вместе с подсказчиком фраз для запроса документов по нескольким индексам.
Теперь, переходя к проблеме, всякий раз, когда я использую вышеупомянутый запрос соответствия для поиска соответствующего документа с точным написанием документа, который присутствует в моем elasticsearch, часть предложения фразы показывает мне какое-то случайное предложение, и предложение, которое я получаю, прерывается для одного и того же входного текста.
Например, допустим, у меня есть 3-4 документа, проиндексированных как счета, как мне оплатить счет, каков статус оплаты счета, каковы преимущества более крупных платежей по счетам?
Мой запрос выглядит следующим образом:
GET idx-name1,idx-name2/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"field1": "bill pay"
}
},
{
"match": {
"field2": "bill pay"
}
}
]
}
},
"suggest": {
"text": "bill pay",
"YOUR_SUGGESTION": {
"phrase": {
"field": "field1"
}
}
}
}
Вывод:
Я периодически получаю предложение как «большую плату» в части предложения фразы.
Пожалуйста, помогите мне, это мешает мне создать «Вы имели в виду функциональность?»
Комментарии:
1. используете ли вы фильтр токенов n-gram для field1?
2. @Nate. Как мне это проверить? Я новичок в elasticsearch
3. использовать
GET index-name/_mapping/field/field1
4. Нет, нет n-граммового фильтра токенов
Ответ №1:
Вам необходимо предоставить больше информации для устранения вашей проблемы, но несколько указаний, чтобы вы могли отладить ее самостоятельно или предоставить информацию, чтобы мы могли помочь вам в дальнейшем.
- Укажите ваше отображение и настройку индекса, пожалуйста, обратитесь к этому и этому, чтобы узнать, как его получить
- Используйте explain API, чтобы увидеть, как продвигается ваш поиск под капотом.
Комментарии:
1. является ли это ответом?