我创建了一个“位置”的Azure索引,每个位置都有一个名称、地址、地理位置等。
此索引链接到我们在Google地图中使用的Azure搜索。使用地图的当前位置,我尝试了Azure search的geo.distance特性。
理想情况下,我们可以在用户搜索的位置和返回的位置之间找到一个令人满意的平衡。例如:我搜索麦当劳,结果是根据离我最近的麦当劳排序的。
我的理解是,我需要使用$orderby=geo.distance...,但我不希望距离成为影响结果的唯一决定因素。现在,如果我搜索" McDonald's“并传递附近另一个位置的经度/纬度(比如肯德基),第一个结果将是肯德基,而不是麦当劳。
我是否需要设置一个评分配置文件,或者我是否缺少一些排序/过滤技巧?
发布于 2017-07-22 03:07:16
如果您希望考虑多个相关性因素(例如文本相关性、距离、新鲜度等),那么设置评分配置文件是可行的。
虽然您可以orderby多个字段,但这可能不是您在此场景中想要的。
有关使用评分配置文件的详细信息,请参阅Azure Search scoring profiles reference。
https://stackoverflow.com/questions/45244164
复制相似问题