Elasticsearch的基本概念是什么

这期内容当中小编将会给大家带来有关Elasticsearch的基本概念是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联专注于大关企业网站建设,成都响应式网站建设公司,商城开发。大关网站建设公司,为大关等地区提供建站服务。全流程定制网站设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

       ES是一个高扩展的、开源的、全文检索的搜索引擎,它提供了近实时的索引、搜索、分析功能。Shay Banon是ES奠基者,系统是在Apache Lucene的基础上采用Java实现的。Lucene非常复杂,而ES通过RESTful API屏蔽Lucene的复杂性,提供了方便的应用接口。

应用场景

  • 它提供了强大的搜索功能,可以实现类似百度、谷歌等搜索。

  • 可以搜索日志或者交易数据,用来分析商业趋势、搜集日志、分析系统瓶颈或者运行发展等等

  • 可以提供预警功能(持续的查询分析某个数据,如果超过一定的值,就进行警告)

  • 分析商业信息,在百万级的大数据中轻松的定位关键信息

ES典型应用

  • Wikipedia

  • Stack Overflow

  • GitHub

  • Docker

基本概念

Cluster/集群:Cluster是一组服务器构成的集成,用于协同存储数据、索引数据、检索数据和解析数据。Cluster具有唯一标识名,你只需要指定集群标识名(默认是elasticsearch),启动的时候,凡是集群是这个名字的,都会默认加入到一个集群中,选举master节点和节点管理都是自动完成的(集群部署参考文章《ElasticSearch部署》)。

Node/节点:Node是参与到Cluster的单个服务器节点,具有唯一标识名,可加入到指定的Cluster中。

Index/索引:Index是一类文档的集合,是具有相同业务特征的数据文档集合(不是相同数据结构),相当于传统数据库中的数据库。ES数据的索引、搜索和分析都是基于索引完成的。Cluster中可以创建任意个Index。

Type/类型:Type是Index中数据的 ,用于标识不同的文档字段信息的集合,相当于传统数据库的表。在2.0之后的版本直接做了插入检查,禁止一个索引下不同Type的字段类型冲突。

Document/文档:Document是ES数据可被索引化的基本的存储单元,需要存储在Type中,相当于传统数据库的行记录,使用json来表示。

Shard/分片:Shard是ES基本存储容器,是Lucene的一个实例,因此具有完整的存储搜索分析功能。Shard是ES扩展性和可靠性的基础。ES默认在创建索引时会创建5个分片,这个数量可以修改。分片的数量只能在创建索引的时候指定,不能在后期修改。

  • 如果一个索引数据量很大,会造成硬件硬盘和搜索速度的瓶颈。如果分成多个分片,分片可以分摊压力。

  • 分片允许用户进行水平的扩展和拆分

  • 分片允许分布式的操作,可以提高搜索以及其他操作的效率

Replica/备份:拷贝一份分片就完成了分片的备份。备份的数量可以动态定义。

  • 当一个分片失败或者下线时,备份的分片可以代替工作,提高了高可用性。

  • 备份的分片也可以执行搜索操作,分摊了搜索的压力。

NRT(Near Real Time):ES并不是一个标准的数据库,它不像MongoDB,它侧重于对存储的数据进行搜索。因此要注意到它不是实时读写 的,这也就意味着,刚刚存储的数据,并不能马上查询到。缺省配置下,shard每秒自动更新,所以会有1S的延时。

Elasticsearch的基本概念是什么

上述就是小编为大家分享的Elasticsearch的基本概念是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网站栏目:Elasticsearch的基本概念是什么
标题来源:http://hbruida.cn/article/pssseo.html