Функция OData search.score в интеллектуальном поиске Azure

Примечание.

Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.

При отправке запроса в поиск ИИ Azure без параметра $orderby результаты, возвращаемые в порядке убывания, будут отсортированы по оценке релевантности. Даже если вы используете $orderby, оценка релевантности используется для разрыва связей по умолчанию. Однако иногда полезно использовать оценку релевантности в качестве начального критерия сортировки, а другие критерии — в качестве решающего фактора. В примере в этой статье показано использование search.score функции для сортировки.

Примечание.

Оценка релевантности вычисляется алгоритмом ранжирования релевантности, а диапазон зависит от используемого алгоритма. Для получения дополнительной информации см. «Релевантность и оценка в Поиск с использованием ИИ Azure».

Синтаксис

Синтаксис для search.score в $orderby — search.score(). Функция search.score не принимает параметров. Для полнотекстовых запросов его можно использовать со спецификатором порядка сортировки asc или desc, как и любое другое выражение в параметре $orderby. Она может находиться в любом месте в списке критериев сортировки.

Пример

Отсортируйте отели по убыванию search.score и rating, а затем по возрастанию расстояния от заданных координат, чтобы среди двух отелей с одинаковыми оценками релевантности и рейтингами первым отображался ближайший:

    search.score() desc,rating desc,geo.distance(location, geography'POINT(-122.131577 47.678581)') asc

Limitations

Нельзя использовать search.score() в $orderby для чистых векторных или гибридных запросов. Служба отклоняет эти запросы с ошибкой HTTP 400 InvalidRequestParameter . Чтобы исправить запрос, удалите search.score() из $orderby.

Следующие шаги