ES学习之初步认知

一、引言

1、在海量数据中执行搜索功能时,如果使用MySQL,效率太低。
2、如果关键字输入的不准确,一样可以搜到想要的数据。
3、将搜索关键字,以红色的字体展示。

二、ES的介绍

ES是一个使用Java语言并且基于Luence编写的搜索引擎框架,它提供了:

  • 分布式的全文搜索功能
  • 统一的基于RESTful风格的web接口
  • 官方客户端也对多种语言都提供了相应的API

1、Luence

Luence本身就是一个搜索引擎的底层

2、分布式

ES主要是为了突出它的横向扩展能力

3、全文检索

1)讲一段词语进行分词,并且将分出的单个词语统一的放到一个分词库中
2)在搜索时,根据关键字去分词库中检索,找到匹配的内容。(倒排索引)

4、RESTful风格的web接口

操作ES很简单,只需要发送一个HTTP请求,并且根据请求方式的不同、携带参数的不同,执行相应的功能。

5、应用广泛

Github.com
WIKI
Gold Man用ES每天维护将近10 TB的数据

三、ES和Solr

1、查询速度

Solr在查询死(不会变化的)数据时,速度相对ES更快一些。
但是数据如果是实时改变的,Solr的查询速度会降低很多,ES查询的效率基本没有变化。

2、搭建

solr搭建需要依赖Zookeeper来帮助管理。
ES本身就支持集群的搭建,不需要第三方的介入。

3、受欢迎程度

最开始Solr的社区可以说是非常火爆,针对国内的文档并不是很多。
ES出现之后,ES的社区火爆程度直线上升,且ES的文档非常健全。

4、实际使用

ES对现在云计算和大数据支持得非常好。

5、倒排索引

在这里插入图片描述
1)将存放的数据,以一定的方式进行分词,并且将分词的内容存放到一个单独的分词库中。
2)当用户去查询数据时,会将用户的查询关键字进行分词。
3)然后去分词库中匹配内容,最终得到数据的id标识。
4)根据id标识去存放数据的位置拉取到指定的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值