1.ElasticSearch的简介
ElasticSearch是一个分布式可拓展的实时搜索和分析引擎
ElasticSearch的功能:
a.分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
b.实时分析的分布式搜索引擎。
c.可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
先说Elasticsearch的文件存储,Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,这个文档以Json的形式存在.
ElasticSearch的结构:索引(类型(文档(域)))
|| || || ||
mysql的结构: 数据库( 表( 行 (列)))
2.ElasticSearch的索引
Es将数据存储在索引中,索引是由若干个具有相同特性的文档组成.这个索引相当于我们在sql中创建的数据库,在整个es集群中我们可以创建多个索引,可以通过引用索引的名称来完成对文档的操作(增删改查)
3.ElasticSearch的类型
Es的类型相当于我们传统数据库中的表,是对索引内部的一个逻辑上的分区,每个区存储的数据不一样。比如你创建三个类型,以交通处罚为例,第一个类型存储个人信息数据,第二个存储车辆数据,第三个存储交通记录数据
4.ElasticSearch的文档和域
文档相当于我们mysql中的行,域就相当于我们mysql中的列.文档里面包含若干个域(可以是一个,可以是多个,多个域叫做多值域),每个域有名字以及若干个值,文档以Json格式展示. 多个域可以称为域集,每个文档可以存储不同的域集
5.ElasticSearch的分片
如果一个索引存储的文档太大,已经超过了一个T,那肯定是不合理的,因为查询数据的效率太慢,我们的Es具备分片的能力,在创建索引的时候可以指定分片的数量,每个分片也都有独立的索引,可以放在任何一个节点上。(其实就是把这一个大的分档拆成若干的小文档分给不同的索引存储)
6.ElasticSearch解决的问题
a.自动保证数据在多个节点上创建索引
b.搜索请求也自动分布到多个节点上执行
c.高容错,保证副本数
7.ElasticSearch的特点
a.是一个应用的完全分布式集群的技术,可以处理海量数据,也可以运行在单机上,处理少量数据
b.Elasticsearch主要是将全文检索、数据分析以及分布式技术综合在一起
c.而且Es部署非常简便,用户使用非常便捷
d.Elasticsearch提供了关系型数据库没有的功能,比如全文检索,同义词处理,相关度排名,复杂数据分析。
THE END
领取专属 10元无门槛券
私享最新 技术干货