想象一下:晚上和朋友约饭,朋友带着小狗;用户一条消息:“附近能带狗的餐厅”。传统的地点检索会返回一串“餐厅”——但它不知道“能带狗”这种限制是否被满足。结果是用户还得筛选、再筛选,体验糟糕。多维检索就是为这种“带额外条件的自然语言检索”而生的。
多维检索是什么
多维检索 = 会读“附加条件”的搜索。用户的自然语言不仅被当成“类目”,同时被解析出多种维度(属性、标签、限制、意图),并据此返回更精准的候选结果。
能解决什么痛点
-
把“意图 + 限制”一次性理解并检索(比如:宠物友好、适合带娃、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…)