es系列总结(一)ElasticSearch

什么是Elasticsearch

Elasticsearch 是一个分布式,高性能,高可用,伸缩扩展性好的搜索和分析系统

那什么是搜索?
搜索就是在搜索框中输入你想要搜索的东西,然后系统返回相关信息的数据

传统的关系型数据库也能进行搜索,es的优势

举个例。
例如电商平台,通过关键字查询商品信息。例如:搜索长袜
在数据库中如果存在两个字段productName,productIntroduce。
 如果使用mysql进行搜索的一般是执行sql语句:select * from product where productName like '%长袜%' or productIntroduct like '%长袜%'。
 缺点1:在进行数据库like查询的时候,mysql对product进行全表扫描,一条一条进行配对。
缺点2:针对用户需求,如果数据库中存在  '长筒袜' ,而该商品也在我搜索到的期望之内,但是数据库却无法匹配到

elasticSearch 和Lucene的关系与区别

Lucene是一个进行索引的创建的工具包。elasticSearch 是对Lucene的封装。

使用Lucene进行索引创建相对是比较麻烦的,并不是说Lucene不好,而是想要使用好Lucene需要花费大量的时间的学习Lucene上,学习成本相对大。
而且随着发展,数据量会持续增长,这时候单机版的Lucene就开始变得无法满足人们的日常需求了。这时候最好的办法就是在加入一个新的Lucene节点
新的Lucene节点加入之后,我们从单机版,直接切换到了集群版,这时候,我们需要对两个Lucene集群的通信进行处理,并且,由于前期的Lucene在单机上的
数据过多,在新的节点加入之后,我们需要进行数据均衡分布。这样一系列的操作相当麻烦。无形当中增加了很多的学习成本,对于企业的成本也会相应的增加。

而elasticSearch正好解决了这个问题。在数据量增大时,需要扩展新的节点,直接加入到elasticsearch集群中,es集群会自动维护数据评论的分散到各个节点中去,
es集群在接收到请求时会自动将请求推送到节点中执行。elasticSearch提供冗余备份,防止数据的丢失。并且es提供了大量高级复杂的搜索功能。

elasticSearch特点

可以做一个大型的分布式集群服务大公司处理PB级数据,也能够运行单机,服务小公司
elasticSearch是全文检索,数据分析,分布式技术的合集
对于开发者而言,es开箱即用
相对于普通的数据库,es提供全文检索,同义词处理,相关度排名,复杂数据分析,海量数据近实时处理。作为数据库的补充,es提供了关系型数据库所不能提供的功能

转载于:https://my.oschina.net/u/3787570/blog/1803283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值