2

我们定义的类型是这样的:

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

记录/文档代表驻留在一个或多个类别中的企业,因此 links 数组将包含到企业的所有潜在链接,即

[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/'

链接的顺序不应对整体查询的自然结果的顺序产生任何影响。


编辑: 我在上面添加的第二个用例是,我们还存储每个企业的位置,并希望通过它们与一组坐标的接近程度来为每个生成的企业排序位置列表。我们知道如何对整个结果集进行排序,_geo_distance但需要知道如何在特定字段上进行排序,就像上面一样,而不影响整体结果顺序。

4

1 回答 1

0

基于脚本的排序将为您提供您想要排序的确切内容。但是track_scores似乎它会做你正在寻找的东西,默认情况下排序不使用分数。

对于按特定字段排序地理距离排序,您可以在客户端这样做,提供所选字段的特定字段值?我不确定这是否能回答你的第二个问题。

于 2014-04-24T16:23:05.727 回答