Solr synonym.txt добавление в elasticsearch

#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 и не было ли ошибки при создании параметра индекса с этим файлом.