<< Click to Display Table of Contents >> Администрирование (Linux) > Общесистемные настройки > Настройка полнотекстового поиска > Настройка словаря синонимов Проверка синонимов анализатором |
Для проверки синонимов используются анализаторы языка (language analyzers), входящие в состав поисковой системы Elasticsearch.
Чтобы проверить, можно ли добавить синонимы в словарь, на панели управления Kibana перейдите на страницу Dev Tools и в инструменте Console выполните запрос:
GET synonyms_test/_analyze
{
"analyzer": "ru_en_analyzer",
"text": ["<Добавляемые синонимы через запятую>"]
}
В результате выполняется анализ синонимов в тестовом индексе.
Синонимы можно добавить в словарь, если запрос вернул начальные формы (tokens) для всех синонимов и при этом каждому синониму соответствует только одна начальная форма.
Пример 1. Синонимы «дело, работа»
Чтобы проверить, можно ли в словарь добавить синонимы «дело, работа», выполните запрос:
GET synonyms_test/_analyze
{
"analyzer": "ru_en_analyzer",
"text": ["дело, работа"]
}
Результат выполнения запроса:
Запрос вернул начальные формы (tokens) для всех анализируемых слов. Определить, что начальная форма относится к определенному слову, можно по полю position в ответе. Нумерация начинается с нуля.
В примере выше для слова «дело» (position 0) вернулись две начальные формы. Следовательно, синонимы нельзя добавлять в словарь, т.к. есть ограничение, что для слова не должно быть несколько начальных форм.
Пример 2. Синонимы «в дороге, в пути»
Чтобы проверить, можно ли в словарь добавить синонимы «в дороге, в пути», выполните запрос:
GET synonyms_test/_analyze
{
"analyzer": "ru_en_analyzer",
"text": ["в дороге, в пути"]
}
Результат выполнения запроса:
В тексте запроса было задано 4 слова: «в», «дороге», «в», «пути». Следовательно, начальные формы должны были вернуться для каждого из них.
В примере видно, что начальные формы вернулись только для слов «дороге» (position 1) и «пути» (position 3). Для слова «в» (position 0 и position 2) не вернулись начальные формы, т.к. это предлог, а значит входит в список стоп-слов. Использование стоп-слов является ограничением, поэтому синонимы нельзя добавлять в словарь.
Пример 3. Синонимы «Российская Федерация, Россия, РФ»
Чтобы проверить, можно ли в словарь добавить синонимы «Российская Федерация, Россия, РФ», выполните запрос:
GET synonyms_test/_analyze
{
"analyzer": "ru_en_analyzer",
"text": ["Российская Федерация, Россия, РФ"]
}
Результат выполнения запроса:
Запрос вернул четыре начальные формы для каждого из четырех слов. В примере видно, что каждой позиции (position) соответствует только одна начальная форма. Следовательно, синонимы можно добавлять в словарь.
© Компания Directum, 2024 |