В этом руководстве объясняется, как включить поиск синонимов в 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.