在百度搜索框里面,当我们输入某个关键字或关键词的时候,基本上不需要等待多久【秒级】,当然网络太差就不说了,就可以马上列出一大堆相关的词句,这些是怎么实现的呢

总的来说,实现方式有两种,第一种,实时ajax请求后端接口,即鼠标弹起事件触发,但对于数据量特别大的网站基本上不可能;第二种方式就是搜索引擎来实现了,至于百度的搜索引擎是什么样的,我们无从得知,但是和es的搜索原理应该类似,拿到短语或者句子,去数据仓库做实时检索,将检索出来的一系列doc根据得分情况进行排名,然后拿出得分最高的前N条数据展示给用户,原理大概如此

在es中,有哪些方式可以达到类似的效果呢?下面简单分享两种实现此功能的方式

方式一,match_phrase_prefix

1、首先我们创建一个索引,并插入一组有特征意义的数据如下,

PUT /myindex/mytype/1
{"title":"hello world"
}PUT /myindex/mytype/2
{"title":"hello we"
}PUT /myin

es实现近实时搜索推荐的两种方式相关推荐

  1. es mysql延迟_ES 近实时搜索 更新延迟问题

    一.问题发现 有段代码更新 ES中的数据状态,将未读置成已读.是查一批,更新一批,再查再更新. public Boolean updateDealStatus(WarningQuery warning ...

  2. 剖析Elasticsearch集群系列第三篇 近实时搜索、深层分页问题和搜索相关性权衡之道...

    http://www.infoq.com/cn/articles/anatomy-of-an-elasticsearch-cluster-part03?utm_source=infoq&utm ...

  3. ElasticSearch探索之路(五)集群与分片:选举、动态更新、近实时搜索、事务日志、段合并

    文章目录 集群内部原理 集群与节点 分片 选举 分片内部原理 索引不变性 动态更新索引 近实时搜索 事务日志 段合并 集群内部原理 集群与节点 一个运行中的Elasticsearch实例称为一个节点, ...

  4. solr 近实时搜索

    摘要: Solr的近实时搜索NRT(Near Real Time Searching)意味着文档可以在索引以后马上可以被查询到.Solr不会因为本次提交而阻塞更新操作,不会等待后台合并操作(merge ...

  5. lucene4.5近实时搜索

    近实时搜索就是他能打开一个IndexWriter快速搜索索引变更的内容,而不必关闭writer,或者向writer提交,这个功能是在2.9版本以后引入的,在以前没有这个功能时,必须调用writer的c ...

  6. ElasticSearch近实时搜索的实现

    ElasticSearch近实时搜索的实现 1.近实时搜索 1.1 实时与近实时 实时搜索(Real-time Search)很好理解,对于一个数据库系统,执行插入以后立刻就能搜索到刚刚插入到数据.而 ...

  7. HashMap遍历的两种方式,推荐使用entrySet()

    转自:HashMap遍历的两种方式,推荐使用entrySet() 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterat ...

  8. 必须记住的电源防反接电路,推荐后两种电路!

    必须记住的电源防反接电路,推荐后两种电路! 参考文献: 1.必须记住的电源防反接电路,推荐后两种电路! https://mp.weixin.qq.com/s/vqz3ZHq0XG7Wt571sG8s7 ...

  9. 实时显示GPU的两种方法(灵机一动)

    实时显示GPU的两种方法(灵机一动) 文章目录 实时显示GPU的两种方法(灵机一动) 命令行CMD 实时显示GPU Jupyter Notebook 实时显示GPU 最近在跑程序的时候,我在想能不能实 ...

最新文章

  1. 计算机二级是立刻知道成绩单,可以在公布前知道计算机二级考成绩吗
  2. python获取历史双色球数据_你的梦想,我来买单!Python分析双色球中奖号码竟成功获取特等奖
  3. admin select 2 异步_解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
  4. 基于rocketMq秒杀系统demo
  5. 1450. 在既定时间做作业的学生人数
  6. spring mvc Cotroller获取请求参数
  7. 我的微信小程序登陆界面
  8. java实现开根号:牛顿迭代法
  9. android 功能防抖,Android RxJava 实战系列:功能防抖
  10. GTK+:GTK+的简介、安装、使用方法之详细攻略
  11. Win10如何高效压缩卷,亲测有效
  12. java excel 取消科学计数法_基于Java将Excel科学计数法解析成数字
  13. iOS第三方开源库的吐槽和备忘 - 王培
  14. 分布式系统漫谈【拾】_分布式事务一致性:阿里方案
  15. 六Elasticsearch之中文分词器插件es-ik的热更新词库
  16. DES_3DES_AES_IDES_RSA密码算法比较
  17. Mac电脑打不开app store,打开网页提示连接不到服务器,图片不能加载提示证书问题
  18. 【数据分析师自学系列-MySQL】创建新表create table、create table as、create table like的区别
  19. 前端切图案例课程一则-姜威-专题视频课程
  20. TP5 根据是否是手机端跳转到对应模板

热门文章

  1. Linux 6.5选包截图
  2. 使用Powershell远程管理Windows Server(WinRM)
  3. menu---A.2-基本算法实例
  4. python3 + selenium + (chrome and firefox)使用
  5. VR为难民发声,传递人道主义精神
  6. 卷影副本--给你后悔的机会,文件误删除,误更改,能够找到以前的版本。
  7. heartbeat与keepalived对比
  8. linux系统下网络连接不上的问题
  9. VB6.0中,DTPicker日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)...
  10. 自定义序列化和反序列化的java实现