Итак, у меня есть индекс с отображением синонимов, определенным в анализаторе поиска.Когда я впервые создал индекс, синонимы были найдены при поиске.После этого я обновил файлы synonyms.txt
на узлах один раз, чтобы обновить отображение синонимов, и перезапустил каждый узел после внесения изменений.Это привело к изменению синонима при поиске по всему индексу.
Теперь, когда я изменяю файл синонимов и перезагружаю узлы, отображение синонимов не обновляется, как мне кажется.Я что-то пропустил?Я думал, так как отображение синонимов было на search_analyzer, мне не нужно будет каждый раз переиндексировать, чтобы отразить изменения.
Вот мое определение индекса:
PUT /synonym_index
{
"aliases": {},
"mappings": {
"_doc": {
"properties": {
"name": {
"type": "text",
"fields": {
"english": {
"type": "text",
"analyzer": "english",
"search_analyzer":"english_and_synonyms"
}
}
}
}
}
},
"settings": {
"analysis": {
"analyzer": {
"english": {
"tokenizer": "standard",
"filter": [
"english_possessive_stemmer",
"lowercase",
"english_stop",
"english_keywords",
"english_stemmer"
]
},
"english_and_synonyms": {
"tokenizer": "standard",
"filter": [
"search_synonyms",
"english_possessive_stemmer",
"lowercase",
"english_stop",
"english_keywords",
"english_stemmer"
]
}
},
"filter": {
"english_stop": {
"type": "stop",
"stopwords": "_english_"
},
"english_keywords": {
"type": "keyword_marker",
"keywords": ["example"]
},
"english_stemmer": {
"type": "stemmer",
"language": "english"
},
"english_possessive_stemmer": {
"type": "stemmer",
"language": "possessive_english"
},
"search_synonyms" : {
"type" : "synonym_graph",
"synonyms_path" : "analysis/synonyms.txt"
}
}
},
"index": {
"number_of_shards": "5",
"number_of_replicas": "1"
}
}
}
Я попытался перезапуститьузел с
перезапуском службы эластичного поиска sudo service
, а также с
остановкой поиска упругого сервиса sudo start*
но ни один из них не вызывает отражения в моих изменениях.Нужно ли переиндексировать каждый раз, когда я обновляю файл синонимов, даже если это поисковый анализатор?