3

このページによると、Azure Search の結果の既定の並べ替えは、Azure 独自のスコア (降順) によるものです。ただし、次のように定義されている $orderby 句を指定できます。

結果を並べ替えるコンマ区切りの式のリスト。各式は、フィールド名または geo.distance() 関数の呼び出しのいずれかです。

Azure の @search.score desc、MyFieldOne、MyFieldTwo で並べ替えたいです。しかし、@search.score「フィールド」を参照する方法がわかりません。

私は次のことを試しました:

$orderby=search.score+desc,MyFieldOne,MyFieldTwo
$orderby=@search.score+desc,MyFieldOne,MyFieldTwo
$orderby=%40search.score+desc,MyFieldOne,MyFieldTwo

これらはすべて、http 502 または 400 になります。

リクエストで @search.score 値を参照するにはどうすればよいですか?

4

1 に答える 1

7

編集済み

search.score()Azure Search で、新しいOData 関数を使用したスコアによる並べ替えがサポートされるようになりました。たとえば、スコアで並べ替えてから名前で並べ替えるには、次のようにします。

$orderby=search.score() desc, name asc

API リファレンスが更新され、新しいsearch.score()関数が含まれるようになりました。

元の答え:

orderby現在、Azure Search では、句でスコアを参照できません。この作業に優先順位を付けるために、このUserVoice の提案に投票してください。

ただし、スコアが 2 つのドキュメントで同じになることはめったにないため、 の後にタイブレーカーを使用する$oderby=@search.scoreことはめったにありません。ほとんどの場合、並べ替え順序はランクによる並べ替えと同等になります。これは既定で行われます。

于 2015-12-11T23:30:58.017 に答える