一、小程序搜索背景
前端:微信官方提供SearchBar插件,主要功能为搜索框的前端实现
后端:实现简单的搜索分小程序搜索和云开发两部分
• 小程序搜索包含以下三个接口,无商品、文本搜索相关能力:
search.imageSearch:提供基于小程序的站内搜商品图片搜索能力
search.siteSearch:提供针对页面的查询能力
search.submitPages:提交小程序页面url及参数信息,让微信可以更及时的收录到小程序的页面信息
• 云开发
开发者们可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。提供云函数、云数据库、存储、云调用能力。
其中搜索主要依赖云数据库实现。搜索相关能力主要是可开发基于正则的模糊匹配,支持基础聚合能力、GEO搜索能力、多字段模糊搜索最佳实践,但是搜索性能和搜索效果都有限,不支持分词、查询分析(QP)等能力。
二、问题与需求
电商、内容行业对于查询意图理解有一定依赖的场景,使用小程序原生搜索服务功能较为基础,不足以支撑业务需求,用户搜索体验较差,则直接影响业务的转化。
三、电商搜索场景分析
• 搜索框输入效率低;
• 需求提升购买转化率;
• 关键词堆砌;
例如:搜索“帮宝适男童大码拉拉裤包邮”
分词后:帮宝适、男童、大码、拉拉裤、包邮; 一个query包含好几个搜索关键词,这些关键词的重要性也是分:高、中、低
• 词序对语义的影响不大;
• 类目预测问题;
例如:当用户查询“苹果”时,可能查询的是水果,也可能是手机品牌。
四、内容搜索场景分析
• 口语化描述的长尾词出现频率相对较高,关键词和内容多样性丰富、搜索用词规范程度参差不齐
• 聚合多个频道的内容
• 要求搜索引擎具备较强的语义理解能力
• 一部分场景垂直性专业性较强
例如:
- 搜索“有哪些适合男生看的科幻小说推荐”,Query涉及的关键词很多,聚合多个频道的内容,词序对语义影响不大
- 搜索“3岁以下宝宝咳痰怎么治疗”,专业性较强对搜索结果相关性要求更加精准
五、开放搜索解决方案
六、小程序接入开放搜索仅需2步
6.1数据接入
• 数据源接入:首先数据源接入是直接在阿里云购买rds(或者polardb等),接入开放搜索。小程序和开放搜索的对接,仅仅需要查询的api接口或者sdk.
• API/SDK接入:小程序的接入跟app或者WEB的产品形态没有什么区别,只是微信小程序有自己的一套代码规范,但还是使用开放搜索的sdk/api来获取开放搜索的结果。
6.2搜索服务接入
• 通过在小程序JS里调用外部接口,获取搜索结果
• 普遍通过ES、Solr、第三方云服务等方式进行接入
• 示例如下:
如果你想与更多开发者们进行交流、了解最前沿的搜索与推荐技术,可以钉钉扫码加入社群~
【开放搜索】新用户活动:阿里云实名认证用户享1个月免费试用~https://www.aliyun.com/product/opensearch