ElasticSearch简介
ElasticSearch(以下简称ES)在官网的定义为:Elasticsearch 是一个分布式、可扩展、实时的 RESTful 风格的搜索和数据分析引擎,是一个“天然”支持分布式的基于Apache Lucene(TM)的搜索分析引擎。它可以被下面这样准确的形容:
一个分布式的实时文档存储,每个字段都可以被索引与搜索
一个分布式实时分析搜索引擎
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
---------------------
几个基本概念
①、Node(节点):单个装有Es 服务并且提供故障转移和扩展服务器。
②、cluster(集群):一个集群就是由一个或多个node组织在一起,共同工作,共同分享整个数据具有负载均衡功能的集群。
③、Document(文档):一个文档是一个可被索引的基础信息单元。
④、Index(索引):索引就是一个拥有几分相似特征的文档的集合。
⑤、Type(类型):一个索引中你可以定义一种或多种类型。
⑥、Field(列):Field是Es的最小单位,相当于数据的某一列。
⑦、shards(分片):Es将索引分成若干份,每个部分就是一个shard。
⑧、Replicas(复制):Replicas是索引一份或是几份拷贝
总结:
(1)、Document :可以表示为单个客户的信息;
Index:可以表示为多个客户的信息,索引里的文档都是相似的;建立索引,英文全都要小写。
Replicas:Es为了防止数据的丢失,还为了做这个负载均衡,所以用Replicas。
(2)、Es是非关系型数据库
---------------------
节点类型
ES集群中节点分为:主节点(master)、数据节点(data)、客户端节点(client),节点的类别是由elasticsearch.yml 配置文件的node.master、node.data两个参数的值来定义的。
node.master:这个属性表示节点是否具有成为主节点的资格。注意:此属性的值为true,并不意味着这个节点就是主节点。因为真正的主节点,是由多个具有主节点资格的节点进行选举产生的。所以,这个属性只是代表这个节点是不是具有主节点选举资格。默认情况下,elasticsearch集群中每个节点都有成为主节点的资格,也都存储数据,还可以提供查询服务。这些功能是由两个属性控制的。node.master和node.data,默认情况下这两个属性的值都是true。
---------------------