2

定義した Type は次のようなものです。

'title' => ... ,
'body' => ... ,
'links' => 'type'=>'object', 'properties'=> array
        'link' => ... ,
'locations' => 'type'=>'object', 'properties'=> array
        'label' => ... ,
        'pin' => ...
)

レコード/ドキュメントは、1 つ以上のカテゴリに存在するビジネスを表すため、リンク配列には、ビジネスへの潜在的なリンクがすべて含まれます。

[0] => '/Businesses/Hotels/My-Business/',
[1] => '/Businesses/Resorts/My-Business/',
[2] => '/Businesses/Fractional-Ownership/My-Business/'

そのため、用語に対してクエリを実行すると、Business Resortこのリストが結果セットに含まれます。ただし、現時点では、結果ページに表示するのに最も適したリンクがわからないため、最初のリンク、この場合は../Hotels/..パスにあるリンクをデフォルトに設定します。

返される結果のリンクの順序が次のようになるように、検索内の独自のスコア/関連性に従ってリンクを順序付けることは可能ですか?

[0] => '/Businesses/Resorts/My-Business/',
[1] => '/Businesses/Hotels/My-Business/',
[2] => '/Businesses/Fractional-Ownership/My-Business/'

リンクの順序は、クエリ全体からの自然な結果の順序に影響を与えるべきではありません。


EDIT : 上記で追加した 2 番目の使用例は、各ビジネスの場所も保存し、結果の各ビジネスの場所リストを一連の座標に近い順に並べたいというものです。結果セット全体を並べ替える方法は_geo_distanceわかっていますが、全体的な結果の順序に影響を与えずに、上記のように特定のフィールドでそれを行う方法を知る必要があります。

4

1 に答える 1

0

スクリプトベースの並べ替えは、並べ替えたいものを正確に提供します。しかし、track_scoresはあなたが探していることを行うようです.並べ替えはデフォルトではスコアを使用しません.

また、特定のフィールドによる地理的距離の並べ替えを注文するには、選択したフィールドの特定のフィールド値を提供して、クライアント側で行うことができますか? これがあなたの2番目の質問に答えているかどうかはわかりません。

于 2014-04-24T16:23:05.727 に答える