Настройка семантического рангера и возвращаемых подписей в результатах поиска
Семантическое ранжирование выполняет итерацию по начальному результирующем набору, применяя методологию ранжирования L2, которая способствует наиболее семантически релевантным результатам в верхней части стека. Кроме того, вы можете получить семантические заголовки с выделением наиболее релевантных терминов и фраз, а также семантических ответов.
В этой статье объясняется, как настроить индекс поиска для семантического повторения.
Необходимые компоненты
Служба поиска на уровне "Базовый" или выше, при условии доступности региона.
Семантический рангировщик включен в службе поиска.
Существующий индекс поиска с форматированным текстовым содержимым. Семантический ранжирование применяется к полям строк (невектора) и лучше всего подходит для содержимого, который является информационным или описательным.
Выбор клиента
Для добавления семантической конфигурации можно использовать любой из следующих средств и пакетов SDK:
- портал Azure с помощью конструктора индексов для добавления семантической конфигурации.
- Visual Studio Code с клиентом REST
- Пакет Azure SDK для .NET
- Пакет SDK для Azure для Python
- Пакет Azure SDK для Java
- Пакет SDK для Azure для JavaScript
Добавление семантической конфигурации
Семантическая конфигурация — это раздел в индексе, который устанавливает входные данные поля для семантического ранжирования. Вы можете добавлять или обновлять семантику конфигурации в любое время, не требуется перестроение. При создании нескольких конфигураций можно указать значение по умолчанию. Во время запроса укажите семантику конфигурации запроса или оставьте ее пустой, чтобы использовать значение по умолчанию.
Семантическая конфигурация имеет имя и следующие свойства:
Свойство | Характеристики |
---|---|
Поле заголовка | Короткая строка, в идеале до 25 слов. Это поле может быть названием документа, имени продукта или уникального идентификатора. Если у вас нет подходящего поля, оставьте его пустым. |
Поля содержимого | Длинные фрагменты текста в форме естественного языка при условии максимального ограничения ввода маркеров в моделях машинного обучения. Распространенные примеры включают текст документа, описание продукта или другой текст свободной формы. |
Поля ключевых слов | Список ключевых слов, таких как теги документа или описательный термин, например категория элемента. |
Можно указать только одно поле заголовка, но вы можете иметь столько полей содержимого и ключевых слов, сколько вам нравится. Для полей содержимого и ключевых слов выведите список полей в порядке приоритета, так как поля с низким приоритетом могут быть усечены.
Во всех свойствах семантической конфигурации необходимо назначить поля:
- Атрибуты как
searchable
иretrievable
- Строки типа
Edm.String
,Collection(Edm.String)
строковые подфилдыEdm.ComplexType
Войдите в портал Azure и перейдите в службу поиска с поддержкой семантического ранжирования.
В меню индексов в области навигации слева выберите индекс.
Выберите семантические конфигурации и выберите "Добавить семантику".
На странице "Новая семантическая конфигурация" введите имя семантической конфигурации и выберите поля для использования в семантической конфигурации. Допустимы только поля строк, доступные для поиска и получения. Обязательно укажите поля содержимого и поля ключевых слов в порядке приоритета.
Нажмите кнопку "Сохранить", чтобы сохранить параметры конфигурации.
Нажмите кнопку "Сохранить снова" на странице индекса, чтобы сохранить семантику конфигурации в индексе.
Миграция из предварительных версий
Если код семантического ранжирования использует api предварительной версии, в этом разделе объясняется, как перейти к стабильным версиям. Журналы изменений можно проверить для проверки общедоступной доступности:
- 2024-07-01 (REST)
- Журнал изменений пакета SDK Azure для .NET (11.5)
- Журнал изменений пакета SDK Azure для Python (11.4)
- Журнал изменений пакета SDK Azure для Java (11.6)
- Журнал изменений пакета SDK Azure для JavaScript (12.0)
queryLanguage для семантического рангера
По состоянию на 14 июля 2023 г. семантический рангер не зависит от языка. Он может повторно выполнять результаты, состоящие из многоязычного содержимого, без предвзятости к конкретному языку. В предварительных версиях семантический ранжирование будет отменять результаты, отличающиеся от языка, заданного анализатором полей.
Остановите использование queryLanguage
в коде, если вы использовали его для семантического ранжирования. Это queryLanguage
свойство по-прежнему применимо к таким функциям, как исправление орфографии, но не к семантике ранжирования.
searchFields для семантического рангера
Для REST API и всех пакетов SDK, предназначенных для версии и более поздних версий 2021-04-30-Preview
, searchFields
свойство больше не используется для семантического ранжирования.
Вместо этого используйте semanticConfiguration
свойство (в индексе поиска), чтобы определить, какие поля поиска используются в семантическом ранжировании. Чтобы указать приоритет поля, добавьте его semanticConfiguration
в схему индекса, следуя инструкциям в этой статье.
Запросы можно хранить searchFields
в запросах, если вы используете его для ограничения полнотекстового поиска в списке именованных полей.
Следующие шаги
Проверьте семантику конфигурации, выполнив семантический запрос.