摘要:搜索的概念深入人心,但做好一个体验绝佳的搜索服务并不是一件容易的事。

本文分享自华为云社区《云搜索服务在APP搜索场景的应用》,作者:写代码的贺大师

搜索无处不在,尤其是在移动互联的今天。无论是社交,电商,还是视频等APP中,搜索都已经在其中扮演了重要的角色。作为信息的入口,搜索能帮用户从海量信息中找到想要的信息。在APP搜索的典型场景如下:

  • 查找用户:根据输入匹配用户昵称,依据用户属性对搜索结果进行排序;
  • 搜索话题:根据用户输入匹配话题,依据话题属性对搜索结果排序;
  • 搜索帖子:根据用户输入匹配帖子内容,依据内容属性对搜索结果排序;
  • 按照地理位置搜索或推荐:根据用户输入地址信息,转换为经纬度,在一定距离范围内匹配话题、内容中的地址信息,依据它们的属性对搜索结果排序。

事实上,尽管搜索的概念深入人心,但做好一个体验绝佳的搜索服务并不是一件容易的事。在性能和搜索精度等细节上,都存在不可忽略的难点,而这些往往又是提升搜索体验的关键。客户难点如下:

● 基于数据库的性能问题:

• 数据一般都是分库分表存储在MySql数据库中,搜索时存在关联操作,查询效率很低;

• 数据库的查询性能很难做到毫秒级,用户搜索体验十分不好。

基于数据库的匹配问题:

•数据库中,无法做到综合考虑查询条件的属性后排序;

• 数据库中无法过滤一些特殊字符,搜索过程中如果用户昵称中有特殊字符,就会不准确。

● 基于开源搜索引擎Elasticsearch的问题:

• 默认的BM25相关性打分排序无法确保搜索结果的合理性;

• 简单的分词器对特殊字符处理不当。

举个例子:搜索用户“大海”时为什么大V用户“kkw眼中de星辰大海”排在了“寻找那片大海”后面?

对于想要搭建APP搜索的客户来讲,从技术层面出发,实现方案如下。华为云搜索服务是基于Elasticsearch,能够在毫秒级完成TB级检索任务并返回结果,能够很好解决传统数据库的性能问题。

▽ 整体实现方案

在云搜索服务中,我们针对客户的搜索痛点,做了如下优化,帮助客户增强用户体验,提升效率,快速实现业务增长。

华为云搜索服务中搜索方案优化:

● 支持自定义词库,用户在词库中添加热搜词、关键词、网络常用词等来提高搜索输入的匹配精度;

● 支持自定义权重,用户可以根据业务定义不同查询条件的权重,来决定最终结果的排序;

● 支持越搜越准(规划),云搜索服务根据对搜索结果的点击行为,自动更新属性权重,达到最终结果排序更精准的效果。

在云搜索服务中,我们额外提供关于分词和词库的解决方案,帮助客户解决搜索精准度等问题。

云搜索服务分词、词库方案:

● 因为用户昵称和内容、话题表达的含义不同,针对不同字段可以采取不同的分词器,以便于提升匹配精准度。具体作用见下表所示:

● 采取使用简繁体分词器,还可以支持所有可搜索字段都能处理繁体字;

● 对于热搜词、关键词、网络常用词,经常随时间变化,因此,我们采取用户自定义词库的方式更新,来提高搜索精准度。

总体而言,云搜索服务在互联网APP的搜索场景有如下的优势:

● 一键化操作,无忧运维

所有主要操作都是一键可达,专业团队贴身运维,快速实现搭建搜索功能模块;

● 灵活弹性

按需申请,在线扩容,轻松满足业务增长需求;

● 灵活词库管理

支持自定义词库与拼音分词,支持词库热更新,无需重启,配置即生效,对最终用户无影响;

● 灵活分词、灵活权重

不同字段使用不同的分词方式,提高搜索准确率。不同条件设置不同权重,提高搜索精准度;

● 高效实时检索

毫秒级检索结果返回,新数据入库后,即刻能被检索到,提供良好的用户体验。

大数据普惠创新包年75折起,MapReduce、数据仓库、云搜索、数据湖探索、数据可视化、数据湖治理中心助力企业释放千行百业数据价值!参与活动,注册即有红包领取!更有机会参与抽奖赢好礼!

点击关注,第一时间了解华为云新鲜技术~

APP搜索如何又快又准?相关推荐

  1. 神马搜索聚焦大数据营销 汇川广告平台 快、准、省

    6月28日,阿里巴巴旗下神马搜索举办了汇川广告平台代理商季度沟通会.本次会议,神马搜索营销团队与众多代理商一道,针对移动搜索大数据营销和汇川广告平台超级媒体矩阵进行了深入交流,通过解读行业现状及案例分 ...

  2. 为什么微博用jsoup爬取不出来东西_腾讯面试题: 百度搜索为什么那么快? | 原力计划...

    作者 | 小松与蘑菇 责编 | 王晓曼 出品 | CSDN博客 我还记得去年面腾讯时,面试官最后轻飘飘地问:百度/Google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么. ...

  3. 如何“快”、“准”、“狠”成为优秀算法工程师

    如何"快"."准"."狠"成为优秀算法工程师 https://www.cnblogs.com/DicksonJYL/p/9713948.ht ...

  4. delphi 找到某个按钮的句柄_想要又快有准的找到Instagram网红,不妨试试这些方法...

    随着网络的发展,网红成了时下非常流行的词汇,网红的存在,给我们的生活带来了更为丰富个性的色彩,而网红营销更是将网红与经济相结合,成了一种新型的营销方式. 国内有"口红一哥"李佳琦, ...

  5. 腾讯面试题: 百度搜索为什么那么快? | 原力计划

    作者 | 小松与蘑菇 责编 | 王晓曼 出品 | CSDN博客 我还记得去年面腾讯时,面试官最后轻飘飘地问:百度/Google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么. ...

  6. 如何快速提高网站用户体验之3大绝招:快、准、狠

    流量的重要性,相信大家都明白!网上也有成千上万的教程,引导大家如何做好网站的引流工作,可是我们最终的目的不只是将用户引导进来而已,更重要的是怎么留住用户,才是我们引流的目的.因此,大家在引流时千万不要 ...

  7. 腾讯面试题: 百度搜索为什么那么快?

    我还记得去年面腾讯时,面试官最后轻飘飘的问:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜索引擎的原理是什么 然后我整整思考了2000ms,回答:百度爬取了各个网站的信息,然 ...

  8. 共建智慧海关 第四范式打造快、准、稳海关单证识别系统

    近日,第四范式与某海关事务管理信息服务商携手,共同为海关有关部门建设低成本.高效率的人工智能基础设施及业务应用.双方基于第四范式AI算力平台"4Paradigm SageOne"及 ...

  9. 别乱用,这样打日志定位 Bug 又快又准!

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/linsongbin1/article/ details/90349661 概述 日常工作中,程序员需要经常处理线上的各种大小故 ...

最新文章

  1. 经常使用的android弹出对话框
  2. 实例告诉你如何把 if-else 重构成高质量代码!
  3. win10家庭版gpedit.msc无法打开本地组策略
  4. 计算机论文指导书,计算机毕业论文指导书.doc
  5. 关于luci的几个问题二
  6. 如何配置 SAP BTP Integration Suite 测试帐号的环境
  7. Assign the task HDU - 3974(线段树+dfs建树+单点查询+区间修改)
  8. Java 面试之数据库
  9. BZOJ 1597 [Usaco2008 Mar] 土地购买
  10. VB根据窗体自动调整窗体内控件大小 注:实用,可以直接引用
  11. Sell yourself 1
  12. Mvc 前台 匿名对象
  13. c++整理程序 dev_【C++】用Dev-C++写的C++程序老是报错,请问为什么?如何解决?...
  14. 负负为何得正的推理过程
  15. VOC2007数据集解析
  16. Win7 安装 -- SHSUCDX can’t install 问题解决
  17. origin拟合曲线,并绘制曲线上某一点的切线
  18. 咸鱼Maya笔记—初识Maya 2019
  19. 获取中文拼音或拼音首字母方法
  20. Ubuntu18.04-ROS-Python-通过周立功Can发送16进制整数

热门文章

  1. 必知必会 | 关于Redis缓存这三大问题,必知必会
  2. Bootstrap 表格的默认样式
  3. CSS3否定伪类选择器
  4. java游戏暂停_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...
  5. 为什么不能把CSS放到html中,为什么我的CSS代码不能在我的HTML文件中工作?
  6. java map hashtable_Java的HashMap和HashTable
  7. java数组末尾添加元素_JavaScript 数组 Array对象增加和删除 元素
  8. rgb sw 线主板接口在哪_光有RGB还不够,显卡竖装才更显高大上,酷冷TD500机箱装机...
  9. php中http有哪些状态码,http状态码是什么意思?http常用状态码有哪些
  10. T研究:国内云BPM市场规模尚小,预计2018年仅为3.29亿元