В этом руководстве объясняется, как включить поиск синонимов в AEM с помощью Lucene.

Поиск синонимов

Синонимы используются для информирования поисковой системы о том, что поиск одного слова должен также искать другие, например, поиск гигабайта должен также учитывать гигабайты, гиб и гб и т. д.

Анализатор должен быть настроен на пользовательский индекс дуба для поддержки поиска синонимов.

Обратитесь к следующему руководству, чтобы настроить пользовательский индекс дуба и анализаторы.





У меня есть узел данных со значением свойства id как «гигабайт», узел будет возвращен при поиске со значением «гигабайт», но не будет возвращен при поиске с «гигабайтами», «gib» или «gb».

Настройка анализатора

Давайте теперь настроим Analyzer для поддержки поиска синонимов.

Создайте узел «Synonym» с основным типом «nt:unstructured» в разделе Analyzers\Default\filters (см. пример пакета конфигурации по ссылке git, размещенной в нижней части руководства).

Добавьте следующие свойства в узел синонимов

формат — solr или wordnet
синонимы — synonyms.txt, файл с определениями синонимов

Есть два возможных формата словаря, я использую формат solr для демонстрации.

  • wordnet: на основе популярного сообщества Wordnet. Это потребовало настройки синонимов в определенном формате.
  • solr: это более простой текст. Значения, разделенные запятыми

Файл synonym.txt представляет собой простой список синонимов, разделенных запятыми. Все совпадающие термины должны находиться в одной строке. Любое слово, которое ищется в строке, будет соответствовать всем другим словам в той же строке. Обычное использование синонимов — это сопоставление вариантов слова.

ГБ,гиб,гигабайт,гигабайт
МБ,миб,мегабайт,мегабайт
Телевидение, телевизоры, телевизор, телевизоры

Конфигурации готовы, давайте переиндексируем данные. Измените значение свойства переиндексации в пользовательском индексе на true — это инициирует переиндексацию, значение свойства будет изменено на false после запуска переиндексации.

Подождите несколько минут, пока индекс не завершится.

Давайте теперь выполним поиск с помощью «gib» — в /content/sampledata нет узла со значением «gib» для свойства id, но «gib» настроен как синоним для «gigabyte», поэтому узел со значением свойства id «gigabyte» будет быть возвращены в результате.

Настройка синонимов — https://github.com/techforum-repo/youttubedata/tree/master/lucene

Определите пользовательский индекс с синонимами и настройте все возможные синонимы в файле synonyms.txt. Настроенные данные можно использовать для поиска данных с различными синонимами.

Первоначально опубликовано на https://www.albinsblog.com.