Azure 认知搜索中的 OData search.score 函数

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

注意

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

语法

$orderbysearch.score 的语法为 search.score()。 函数 search.score 不接受任何参数。 它可以与 ascdesc 排序顺序说明符一起使用,就像 $orderby 参数中的任何其他子句一样。 它可以出现在排序条件列表中的任何位置。

示例

search.scorerating 对酒店进行降序排序,然后按距给定坐标的距离进行升序排序,以便在两个具有相同评分的酒店中,将距离最近的酒店列在前面:

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

后续步骤