Elasticsearch是一个高度可伸缩的开源全文搜索和分析引擎,是一个基于Lucene的搜索服务器。它容许你以近实时的方式快速存储、搜索和分析大量的数据。它一般被用做基础的技术来赋予应用程序复杂的搜索特性和需求。node
除了先了解es里面的概念外,安装教程也是必不可少的,能够参考此文章哦~数据库
1.NRTjson
Elasticsearch是一个近实时性(Near Realtime[NRT])的搜索平台。这意味着当你导入一个文档并把它变成可搜索的时间仅会有轻微的延时。服务器
2.cluster并发
表明一个集群,集群中有多个节点,经过全部的节点一块儿保存你的所有数据而且提供联合索引和搜索功能的节点集合 ,其中有一个为主节点,这个主节点是能够经过选举产生的,主从节点是对于集群内部来讲的。es的一个概念就是去中心化(注意:和区块链中的去中心化意思不一样哦),字面上理解就是无中心节点,这是对于集群内部来讲的,由于从外部来看es集群,在逻辑上是个总体,你与任何一个节点的通讯和与整个es集群通讯是等价的。app
3.Node 与 Cluster负载均衡
Elastic 本质上是一个分布式数据库,容许多台服务器协同工做,每台服务器能够运行多个 Elastic 实例。单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。curl
4.Indextcp
Elastic 会索引全部字段,通过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。因此,Elastic 数据管理的顶层单位就叫作 Index(索引)。它是单个数据库的同义词。每一个 Index (即数据库)的名字必须是小写。分布式
下面的命令能够查看当前节点的全部 Index。
$ curl -X GET 'http://localhost:9200/_cat/indices?v'
5.Document
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。一个文档是一个可被索引的数据的基础单元。 Document 使用 JSON 格式表示.
6.Type
Document 能够分组,好比weather这个 Index 里面,能够按城市分组(北京和上海),也能够按气候分组(晴天和雨天)。这种分组就叫作 Type,它是虚拟的逻辑分组,用来过滤 Document。
不一样的 Type 应该有类似的结构(schema),举例来讲,id字段不能在这个组是字符串,在另外一个组是数值。这是与关系型数据库的表的一个区别。性质彻底不一样的数据(好比products和logs)应该存成两个 Index,而不是一个 Index 里面的两个 Type(虽然能够作到)。下面的命令能够列出每一个 Index 所包含的 Type。
$ curl 'localhost:9200/_mapping?pretty=true'
根据规划,Elastic 6.x 版只容许每一个 Index 包含一个 Type,7.x 版将会完全移除 Type。
7.shards
表明索引分片,es能够把一个完整的索引分红多个分片,这样的好处是能够把一个大的索引拆分红多个,分布到不一样的节点上。构成分布式搜索。分片的数量只能在索引建立前指定,而且索引建立后不能更改。
分片对于如下两个主要缘由很重要:
8.replicas
表明索引副本,即复制,es能够设置多个索引的副本,副本的做用一是提升系统的容错性,当某个节点某个分片损坏或丢失时能够从副本中恢复。二是提升es的查询效率,es会自动对搜索请求进行负载均衡。
复制对于如下两个主要缘由很重要:
总结一下,每一个索引能够被切分红多个分片,一个索引能够被复制零次(就是没有复制)或屡次。一旦被复制,每一个索引 将会有一些主分片(就是那些最原始不是被复制出来的分片),还有一些复制分片(就是那些经过复制主分片获得的分 片)。
主分片和复制分片的数量能够在索引被建立时指定。索引被建立后,你能够随时动态修改复制分片的数量,可是不能 修改主分片的数量。
默认状况下,在Elasticsearch中的每一个索引被分配5个主分片和一份拷贝,这意味着假设你的集群中至少有两个节点, 你的索引将会有5个主分片和5个复制分片(每一个主分片对应一个复制分片,5个复制分片组成一个完整拷贝),总共每一个 索引有10个分片。
9.recovery
表明数据恢复或叫数据从新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行从新分配,挂掉的节点从新启动时也会进行数据恢复。
10.river
表明es的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法。它是以插件方式存在的一个es服务,经过读取river中的数据并把它索引到es中,官方的river有couchDB的,RabbitMQ的,Twitter的,Wikipedia的。
11.gateway
表明es索引快照的存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到本地硬盘。gateway对索引快照进行存储,当这个es集群关闭再从新启动时就会从gateway中读取索引备份数据。es支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。
12.discovery.zen
表明es的自动发现节点机制,es是一个基于p2p的系统,它先经过广播寻找存在的节点,再经过多播协议来进行节点之间的通讯,同时也支持点对点的交互。
13.Transport
表明es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(经过插件方式集成)。