我们定义的类型是这样的:
'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
但需要知道如何在特定字段上进行排序,就像上面一样,而不影响整体结果顺序。