问题描述
我的用例很简单;我有一个国家代码和一个邮政编码。我要拉特/隆。进行以下查询:
这将返回5986个结果,其中第一个是Thomas的命中结果。我明确提供了postalCode
,所以我不确定为什么要执行模糊搜索(无论如何,结构化的意义是什么?)。最重要的是,我认为没有可靠的方法可以将结果过滤为错误。我注意到fuzzyLevel
部分的summary
字段,并认为我可以使用它。不幸的是,the docs(无用的自动生成的废话)对此有这样的说法:
fuzzyLevel integer FuzzyLevel property
那肯定是有帮助的。我使用了它,但是不幸的是,上面的查询返回了fuzzyLevel: 1
,与“完全匹配”相同。使用postalCode“ error”返回2,因此可以对其进行过滤,但并非普遍有用。我还注意到postalCode
的{{1}}结果中没有包含address
。我当然不知道是否可以依靠这种行为,因此我很犹豫要依靠它。有没有一种简单的方法可以要求仅在我提供的字段上使用完全匹配的内容,否则什么都不返回?对于这些疯狂的猜测,我没有用。
我考虑过按postalCode: Thomas
进行过滤,但是并非针对所有结果都返回entityType(例如,E6L 2H2,CA。仅E6L可以工作,但这不是我们要的内容。)现在我在{ {1}},看上去简直糟透了。
解决方法
更新:2020年9月10日:PDT: 答案是'否'。
下面是Microsoft产品小组的回复,希望对您的查询有所帮助。类似的讨论发布在Microsoft Q&A
上仅当查询无效时,我们才会返回错误代码,例如它有 参数无效,或者参数格式不正确。
Azure Maps搜索服务旨在返回坐标位置 给定的地址(单元级别除外),它们可用于 地址验证。
Azure Maps可以提供一个消除了拼写错误的地址。 返回的数据遵循特定数据的标准格式 国家,例如在美国和芬兰,我们有不同的格式。
我们的Geocoder API确实在响应中提供了地址列表,但是 这将需要一些人工干预才能选择其中的哪些 回应是最有意义的。这在以下形式的网站上效果很好 客户可以选择正确的地址。
例如,如果我们提供 1,Seattle,Seattle –它将返回 2个回复:
1,西雅图,北大街
和
1,西雅图南大街。
如果输入参数不正确,我们将不能保证结果 发送给我们。在该示例中,结果类型现在是市政当局,并且 对于市政当局,我们不返回邮政编码,因为 自治市可以覆盖数百个邮政编码。
在此问题上是否需要进一步的帮助,请告诉我们。