赶上了互联网浪潮的当代人,每当有任何困扰,第一反应都是打开搜索引擎。

什么叫做“硬核相亲”,什么是“pick一下”,“达达主义”,“隐形贫困人口”——你都默默搜索过,不想被时代与话题抛弃。也许只有这样暗自努力,才能让生活与社交看起来毫不费力。

但搜索引擎无法解决一切。

信息爆炸时,“大而全”不见得是一件好事,除了纷乱的资讯与竞价广告,搜索引擎能给的真的不多。更多的有效信息散落在专业网站与各色细分App中,其内容含金量相对高,时效性强,无用信息少,是web时代那些先天不足的网页无法比拟的。如果说搜索引擎是一个巨大的杂货市场,站内搜索就像一个简洁的购物中心,可它的体验……

文献库搜索曾是许多人的心病,关键词太少搜出1000多篇论文,输入太精准,却提示“没有更多的搜索结果”。

旅行时,听到了街头艺人唱过一首歌,只依稀记得旋律,回来后绞尽脑汁想出了歌词的近义词——毫无疑问没搜到。

好不容易问出小姐姐社交软件ID,搜了发现有60多个重名。

需要的PPT模板在素材网怎么也找不到;视频网站搜个冷门资源,搜索反馈要等上半天结果往往还是“404”。

找用户,搜话题,找帖子,求推荐……在移动互联的大背景下,搜索无处不在。作为信息的入口,用户唯一要求的是:在APP的内容较多,无法完成全部展现时,又快又准找到想看的内容。

简单直接的诉求无法实现,APP内搜索难用,根本问题有3点:

1. 响应时间

基于MySQL数据库进行搜索,文档数仅仅上万条时,若没有索引,关键词查询就比较吃力了。如果一旦到企业级的数据,响应速度就会更加不可接受。

2. 分词

传统数据库并不支持分词。例如,在做中文搜索时,当搜索框输入“四川火锅”时,数据库通常只能把这四个字进行全部匹配。可是在文本中,可能会出现“推荐四川好吃的火锅”,这时就会无结果显示。

3. 相关性

在用数据库做搜索时,结果经常会出现一系列文档。可是到底什么文档是用户真正想要的呢?怎么才能把用户想看的文档放在搜索列表最前面呢?

这些问题,基于Elasticsearch的华为云搜索服务可以解决。

Elasticsearch基于倒排索引,搜索时不用再遍历整张表了,如当搜索“手机”时,Elasticsearch会立即返回文档F,G,H。这样就不用花多余的时间在其他文档上,因此检索速度得到了数量级的提升

Elasticsearch支持中文分词插件,直接解决了分词搜索问题。例如当输入“四川火锅”时,Elasticsearch会自动做下面两件事:将“四川火锅”分词成“四川”和“火锅”,而后查找包含这两个词的文档

Elasticsearch支持相关性评分。通过合理的优化,云搜索服务能够返回精准的结果,满足用户的需求。返回结果会根据分数由高到低排列。分数越高,意味着和查询语句越相关。例如,当搜索“星巴克咖啡”,带有“星巴克咖啡”的信息就要比只包含“咖啡”的信息靠前。

除此之外,云搜索服务由华为专业团队贴身运维,最短时间搭建搜索功能模块。企业使用按需付费,费用低至¥0.59/小时起,包年包月最高可省51%,切实的优质低价!

最新活动上线,试用窗口短暂开启,企业可领30天免费试用。

这一次,希望你不会缺席。

你是不是也想起心里那个还没找到答案的问题呢?

来搜一下吧!http://t.cn/RFg3nXz

明明有印象却找不到,APP内搜索为什么这么难用?的更多相关文章

  1. 35.app后端搜索入门

    现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是, ...

  2. app后端搜索入门

    现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是, ...

  3. iOS多语言(国际化)开发(尾随系统 + APP内手动设置)

    一:尾随系统切换语言 1>创建好项目project后, 新建一个多语言文件: 2>加入要设置的语言类型: 3>加入成功 细心的朋友可能会发如今English后面写的是3 Files ...

  4. iOS6:在你的App内使用Passbook

    前言 这是一篇翻译,感谢Jonathan Tang. 原文地址:iOS 6 Tutorial: Integrating Passbook into Your Applications 另外,看到另一篇 ...

  5. Android app内语言环境切换

    逻辑很简单: 1  app内所有activity继承自BaseActivity或BaseActivity派生出来的子类,BaseActivity中维护了一个静态的 app Activity访问栈,在创 ...

  6. Android原生APP内分享

    Android原生APP内分享,可实现数据分享以及assets文件夹分享及私有文件分享 项目地址:https://github.com/json-pu/AndroidAppShare.git

  7. App内切换语言

    前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不 ...

  8. 用vue做app内嵌页遇到的坑

    公司要求用vue做一个微信端的网站,其中还包含一些app的内嵌页.开始的时候没想那么多,就直接用vue-cli搭了一个单页的vue项目,可随着项目越做越大,页面越来越多,问题就开始暴露出来了. 众所周 ...

  9. iOS APP内购

    看到网上文章一大把,看了这个觉得挺不错的,谢谢 iOS大全 公众平台; 原文:http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652 ...

随机推荐

  1. 侯捷STL学习(三)--分配器测试

    第七节:分配器测试 标准的分配器Allocator,#include<ext/...>都是拓展的 可以用不同的分配器测试同一容器 分配器allocate() & deallocat ...

  2. 侯捷STL学习(一)--顺序容器测试

    开始跟着<STL源码剖析>的作者侯捷真人视频,学习STL,了解STL背后的真实故事! 视频链接:侯捷STL 还有很大其他视频需要的留言 第一节:STL版本和重要资源 STL和标准库的区别 ...

  3. The Commercial Open-Source Monitoring Landscape

    As enterprises have adopted open-source monitoring tools, there is growing market demand by enterpri ...

  4. Eclipse与github整合完整版

    最近朋友都推荐使用github管理自己的项目,而且免费用户可以有5个仓库,恰好我也想了解下git,借此机会学习一下. github官方指南使用独立第三方git工具来进行版本控制,并不借助于eclips ...

  5. 10-26C#基础回顾、汇总(函数重点)

    第一部分==进制转换 重点记忆: 1.任意进制转十进制 按权展开法 p代表进制数,a/b/c...m分别代表进制数p从右往左第1位--第(n-1)位的数 公式:a*p0+b*p1+c*p2+..... ...

  6. 关于RandomizedSearchCV 和GridSearchCV(区别:参数个数的选择方式)

    # -*- coding: utf-8 -*- """ Created on Tue Aug 09 22:38:37 2016 @author: Administrato ...

  7. 问题:css 自动换行;结果:CSS控制文本自动换行

    CSS控制文本自动换行 CSS控制文本自动换行,阅读CSS控制文本自动换行,1.你定死表格的宽度,即给表格一个宽度值(是 数值,不是百分比) 2.强制不换行div{//white-space:不换行; ...

  8. Eigen介绍及简单使用

    博客转载自:https://blog.csdn.net/fengbingchun/article/details/47378515 Eigen是可以用来进行线性代数.矩阵.向量操作等运算的C++库,它 ...

  9. 网络笔记-unity 实现AOP

    该文章来自网络,如有冒犯,请及时联系! 前提 引用以下文件 Microsoft.Practices.ObjectBuilder2.dll Microsoft.Practices.Unity.dll M ...

  10. Java Swing 创建转圈的进度提示框

    Java Swing 创建转圈的进度提示框 摘自 https://blog.csdn.net/nihaoqiulinhe/article/details/52439486 置顶2016年09月05日 ...