#java #spring #spring-boot #elasticsearch
#java #весна #весенняя загрузка #elasticsearch
Вопрос:
У меня уже есть рабочий synonym.txt в солре. Теперь я хочу добавить тот же текстовый файл в elasticsearch. Что я могу для этого сделать? В solr это было просто, я просто сохранил этот файл в системе. В elasticsearch я добавил это, а также запустил некоторую команду, но она не работает.
PUT /test_index
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "whitespace",
"filter": [ "synonym" ]
}
},
"filter": {
"synonym": {
"type": "synonym",
"synonyms_path": "analysis/synonym.txt"
}
}
}
}
}
}
Что не так? Нужно ли мне снова его индексировать или мне нужно сопоставить это с любым полем? Мой результат поиска зависит от нескольких полей.
Ответ №1:
Надеюсь, вы применили свои synonym
к существующим полям в своем сопоставлении ES, вы только что указали свой параметр индекса, и вам нужно предоставить сопоставление индекса для его подтверждения.
Кроме того, добавление анализатора в существующее поле является критическим изменением, и вам придется снова переиндексировать данные, чтобы увидеть обновленные токены.
Вы должны использовать Analyze API, чтобы увидеть обновленные токены в вашем индексе, также, пожалуйста, перепроверьте, правильно ли вы добавили synonym.txt
и не было ли ошибки при создании параметра индекса с этим файлом.