你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

Azure AI 搜索中的 OData search.score 函数

注意

Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。

在不使用 $orderby 参数的情况下向 Azure AI 搜索发送查询时,返回的结果将按相关性评分降序排序。 即使你确实使用 $orderby,默认情况下,相关性评分也将用于打破平分的局面。 但是,有时使用相关性评分作为初始排序条件,并使用其他一些条件作为决定因素是有用的。 本文中的示例演示如何使用 search.score 函数进行排序。

注意

相关性分数通过相关性排名算法进行计算,范围因所用算法而异。 有关详细信息,请参阅 Azure AI 搜索中的相关性和评分。

语法

search.score 中 的语法为 search.score()。 函数 search.score 不接受任何参数。 对于全文查询,你可以像在 asc 参数中使用任何其他子句一样,将其与 desc 或 排序顺序说明符结合使用。 它可以出现在排序条件列表中的任何位置。

示例

按降search.scorerating序对酒店进行排序,然后按给定坐标的距离按升序对酒店进行排序,以便两家具有相同相关性分数和评级的酒店之间首先列出最接近的酒店:

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

局限性

不能在search.score()中将用于纯向量查询或混合查询。 服务会拒绝这些请求,并出现 HTTP 400 InvalidRequestParameter 错误。 若要更正请求,请从search.score()中删除。

后续步骤