HERE API /discover端点搜索Buffalo未返回本地Buffalo Exchange点位问题
问题原因
该现象由HERE Discover接口的默认匹配排序权重规则导致:
- 接口对短查询词会优先匹配高权重类别POI:「Buffalo」本身是美国纽约州布法罗市的标准官方名称,行政区划类(
resultType=locality)POI的匹配优先级远高于普通商铺类POI,因此短词查询时远处的城市结果权重更高,会把坐标附近的Buffalo Exchange商铺结果挤出limit=20的返回范围。 - 查询「Exchange」时能返回目标点位的原因是:「Exchange」没有对应高优先级的行政区划匹配项,接口会直接按距离优先级返回当前坐标附近名称包含关键词的商铺类(
resultType=place)结果,因此能命中61米处的目标点位。 - 加拿大阿尔伯塔省搜索「Bison」的同类问题逻辑一致:「Bison」对应部分高优先级的自然地标、保护区类POI名称,排序优先级高于普通place类结果,因此返回结果中place类型占比低。
可行解决方案
你可以通过调整请求参数绕过默认权重规则获取所需结果:
在原有请求参数中新增types=place,强制接口仅返回place类型的结果,过滤掉locality等行政区划类结果,即可优先返回坐标附近的匹配商铺点位。如果目标商户名称明确,也可以直接传入完整的「Buffalo Exchange」作为查询词,也能直接命中目标结果。
内容的提问来源于stack exchange,提问作者Uche Ozoemena
相关产品推荐
相关产品推荐

