<< Click to Display Table of Contents >> Администрирование (Linux) > Общесистемные настройки > Настройка полнотекстового поиска > Настройка словаря синонимов Добавление синонимов в словарь |
1.Перейдите в папку с компонентами Elasticsearch и создайте резервную копию текущего словаря синонимов – файла synonyms.txt. Он расположен в папке /etc/elasticsearch.
2.В файл synonyms.txt добавьте строку с синонимами через запятую. Поиск по любому из перечисленных слов будет соответствовать поиску по всем словам. Пример: «Российская Федерация, Россия, РФ».
3.Сохраните файл.
После добавления синонимов проверьте их с помощью анализатора языка. Чтобы в индексе рабочей системы не было ошибок, для проверки используйте временный индекс:
1.Убедитесь, что ранее использованный временный индекс не существует. Для этого выполните запрос на его удаление:
DELETE synonyms_check_dictionary
Если индекса не было, запрос не выполнится.
2.Создайте временный индекс. Для этого в Kibana перейдите на страницу Dev Tools и в инструменте Console выполните запрос:
POST synonyms_check_dictionary/_doc
{
"text": "test"
}
В результате выводится информация об успешном создании индекса:
Если при создании индекса возникает ошибка, связанная со словарем синонимов, то она отображается в результате выполнения запроса. Например:
В случае ошибки удалите из словаря добавленную строку.
3.С помощью анализатора проверьте одно из слов, входящих в строку словаря. Например, в словарь была добавлена строка «Российская федерация, Россия, РФ». Проанализируйте слово «РФ», выполнив запрос:
GET synonyms_check_dictionary/_analyze
{
"analyzer": "search_analyzer",
"text": ["РФ"]
}
ПРИМЕЧАНИЕ. Наименование анализатора в запросе отличается от ранее использовавшегося при проверке. Анализатор search_analyzer дополнительно использует словарь синонимов.
Результат выполнения запроса:
Для слова «РФ» дополнительно нашлись слова, заданные в синонимах. Написание слов отличается от заданных в словаре, потому что при анализе определяется их начальная форма. Следовательно, словарь синонимов успешно применился.
4.Перезапустите службу Elasticsearch и проверьте ее состояние. Для проверки откройте страницу http://<IP-адрес сервера>:9200/_cluster/health?pretty в браузере. Если Elasticsearch работает без ошибок, то параметр status имеет значение green или yellow. Если в работе есть ошибки, отображается значение red:
В случае ошибок удалите из словаря добавленные строки и перезапустите Elasticsearch
ПРИМЕЧАНИЕ. Если индекс содержит данные большого числа документов, перезапуск Elasticsearch может занимать продолжительное время. В этом случае после перезапуска может отображаться статус red, а затем смениться на green или yellow.
© Компания Directum, 2024 |