В организациях часто используется уникальная терминология или несколько способов обозначения одного и того же понятия. Определение синонимов устанавливает эквивалентность терминов, помогая пользователям находить нужные элементы при поиске.
Синонимы определяются путем индексирования элементов с использованием общеизвестной схемы _dictionaryEntry .
Элементы типа _dictionaryEntry могут обладать следующими свойствами:
| Свойство | Тип | Описание | Необходимый? |
|---|---|---|---|
_term | string | Термин для определения. Рекомендуемые значения — это слова или фразы без дефисов и знаков препинания. | Необходимый |
_synonym | string (repeated) | Альтернативные термины, которые будут включены в запросы, соответствующие строке, определенной в _term . | Необходимый |
_onlyApplicableForAttachedSearchApplications | boolean | Позволяет группировать синонимы по источнику данных и приложению поиска. Для получения дополнительной информации см. раздел «Определение синонимов для конкретного источника данных» . | Необязательный |
Когда пользователь включает значение _term в запрос, фактический запрос становится " term OR synonyms ". Например, если вы определяете "scifi" с помощью синонима "science fiction" , запрос для "scifi" будет соответствовать элементам, содержащим любой из этих терминов.
Синонимы по умолчанию не являются двунаправленными. Запрос по слову "science fiction" будет соответствовать только этой точной фразе, если вы не определите её как термин, в котором "scifi" является синонимом. Чтобы сделать термины взаимозаменяемыми, определите каждый из них отдельно:
| Срок | Синонимы |
|---|---|
| scifi | science fiction |
| science fiction | scifi |
При обработке запроса удаляются дефисы и знаки препинания перед применением синонимов. Запрос по слову "sci-fi" соответствует термину "sci fi" . Для поддержки терминов с дефисами, нормализуйте _term , используя пробелы вместо дефисов.
Взаимозаменяемые примеры:
| Срок | Синонимы |
|---|---|
| scifi | science fiction, sci fi |
| sci fi | science fiction, scifi |
| science fiction | scifi, sci fi |
По умолчанию синонимы применяются ко всему домену и всем поисковым приложениям. Чтобы ограничить их использование, см. раздел «Определение синонимов для конкретных источников данных» .
Определяйте глобальные синонимы с помощью SDK.
Используйте SDK Content Connector для определения терминов и синонимов. Подробности см. в разделе «Создание коннектора контента» .
Этот фрагмент кода создает объект RepositoryDoc на основе записи из CSV-файла:
Важные замечания:
- Записи синонимов должны быть общедоступными для домена. Например, вы можете установить ACL на
DOMAIN_PUBLIC_ACL. - Избегайте использования в конфигурационном файле параметров, которые переопределяют это, таких как
defaultAcl.mode=FALLBACKилиdefaultAcl.public=true.
Определите синонимы, специфичные для конкретного поискового приложения.
Чтобы предоставить синонимы, специфичные для каждой команды (например, для инженерного отдела и отдела продаж), проиндексируйте каждый синоним с помощью _onlyApplicableForAttachedSearchApplications=true . Это ограничит поиск синонимами только теми приложениями, которые содержат конкретный источник данных.
Пример:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);