Функция OData search.score
в поиске ИИ Azure
При отправке запроса в поиск ИИ 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