篇一·多维检索地图API实战教程:快速接入与示例代码

87 阅读3分钟

想象一下:晚上和朋友约饭,朋友带着小狗;用户一条消息:“附近能带狗的餐厅”。传统的地点检索会返回一串“餐厅”——但它不知道“能带狗”这种限制是否被满足。结果是用户还得筛选、再筛选,体验糟糕。多维检索就是为这种“带额外条件的自然语言检索”而生的。

多维检索是什么

多维检索 = 会读“附加条件”的搜索。用户的自然语言不仅被当成“类目”,同时被解析出多种维度(属性、标签、限制、意图),并据此返回更精准的候选结果。

能解决什么痛点

  • 把“意图 + 限制”一次性理解并检索(比如:宠物友好、适合带娃、30人以内包场)。

  • 降低客户端复杂过滤逻辑(减少前端和后端的条件拼接)。

  • 更好地把自然语言转为结构化条件(利于做个性化推荐)。

快速上手

1.在百度地图开放平台控制台开启「多维检索」权限并获取AK。

为了正常调用 API ,请先注册成为百度地图开放平台开发者,并申请 Web API平台的 AK。

可前往该链接创建:lbs.baidu.com/apiconsole/…

  • 点击创建应用:

  • 勾选多维检索服务后,点击提交即可完成AK创建:

2.参考官网文档提供必填参数,如region/query等进行调用,即可完成POI召回,必填参数如下:

query是搜索词,可以提供类似于“附近遛狗的公园”“宠物友好餐厅”等拟人化检索词。

region是限定区域,可以提供对应的城市名如“北京”“上海”等。

3.参考输出参数中的matched_terms和poi_related_score。

其中poi_related_score是检索置信度,1.8以上为非常满足,1.5分以上为比较满足,0.8-1.5是一般满足,0.8以下不满足;matched_terms为本轮检索所匹配的标签。

应用案例

假设我希望在郑州找宠物友好餐厅,便可以构造如下请求链接

api.map.baidu.com/api\_place\…

即可获得对应POI列表(以两个可返回的POI脱敏信息为例)

{

"status": 0,

"message": "ok",

"total": 30,

"result_type": "poi_type",

"query_type": "general",

"results": [

{

"name": "东府饭店(高铁东站黑金冠店)",

"location": {

"lat": **************,

"lng": **************

},

"address": "*************",

"poi_related_score": 1.8,

"match_term": "宠物友好;饭店餐馆;高颜值宴会厅",

"province": "河南省",

"city": "郑州市",

"area": "*****",

"town": "*****",

"town_code": *******,

"adcode": "*********"

"street_id": "*************",

"telephone": "*************",

"detail": 1,

"uid": "**************",

"status": "",

"detail_info": {

****************

},

},

{

"name": "珍珠Pearl·云南菜(郑州银泰inPARK店)",

"location": {

"lat": ***********,

"lng": ***********

},

"address": "****************",

"poi_related_score": 1.8,

"match_term": "宠物友好;花园餐厅",

"province": "河南省",

"city": "郑州市",

"area": "****",

"town": "*******",

"town_code": ********,

"adcode": "*******"

"telephone": "*********",

"detail": 1,

"uid": "************",

"status": "*********",

"detail_info": {

*************

},

........

快根据教程开始你的多维检索之旅吧~

更多详情可前往官网技术文档:

[lbs.baidu.com/faq/api?tit… 更多详情可前往官网技术文档: lbs.baidu.com/faq/api?tit…)