# 1.1基礎概念
##### 集群和節點:
> 一個集群是由一個或多個ES組成的集合,每一個集群都有一個唯一的名字
> 每一個節點都有自己的名字,每一個節點都是通過集群的名字來加入集群的,節點能夠存儲數據,參與集群索引數據以及搜索數據的獨立服務
##### 概念:
> Index(索引)相當于SQL里的DataBase,也就是數據庫
> Type(類型)相當于SQL里的Table,也就是表,在6.0版本已經棄用這個概念
官方不再建議在索引中創建多個類型。并在后續高版本棄用type,詳細見官方文檔。
> Document(文檔)相當于SQL里的一行記錄,也就是一行數據
> Field(字段)就是相當于SQL里的一個字段
> Shard(分片)單臺機器無法存儲大量數據,es可以將一個索引中的數據切分為多個shard,分布在多臺服務器上存儲。有了shard就可以橫向擴展,存儲更多數據,讓搜索和分析等操作分布到多臺服務器上去執行,提升吞吐量和性能。每個shard都是一個lucene index。
> Replica shard(副本分片)replica可以在shard故障時提供備用服務,保證數據不丟失,多個replica還可以提升搜索操作的吞吐量和性能。
> Mapping(映射)它定義了索引中每個字段類型,以及索引的其他設置,可事先定義,也可以根據第一次存儲的文檔自動識別,類似mysql里建表時對字段定義數據類型。
###### 建立索引前手動自定義分片:
```
{
"settings": {
"number_of_shards": "3",
"number_of_replicas": "1",
"refresh_interval": "30s"
}
}
```

* primary shard默認為5個,并且一旦建好不能修改,replica shard默認1個,隨時修改數量
* 一般使用默認的分片就可以了,就是5個primary shard,每個primary shard擁有一個replica shard。也就是說每個索引有10個分片
####修改副本shard數量
```
PUT index/_settings
{
"number_of_replicas": "2",
"refresh_interval": "30s"
}
```

###### Mapping的創建:
Mapping一旦創建,字段類型不能修改,只能增加字段,類似于mysql,因此建表前需要考慮好。

使用Head插件查看索引信息
- 目錄
- 前言
- ElasticSearch基礎
- 基礎概念
- 生產環境配置
- ElasticSearch插件
- ElasticSearch-head插件
- 中文分詞
- ElasticSearch安全插件x-pack
- ElasticSearch查詢
- ElasticSearch語法
- 創建索引
- 新增文檔
- 修改文檔
- 查詢文檔
- 簡單查詢
- 基礎查詢
- 聚合查詢
- 刪除文檔
- ElasticSearch高級查詢
- filter語法
- 關聯查詢
- SpringBoot集成ES的操作
- java操作ES
- Spring-data-elasticsearch操作ES
- SpringBoot性能優化
- ElasticSearch的優化
- ElasticSearch系統優化
- ElasticSearch數據的備份與恢復
- ElasticSearch性能調優
- ElasticSearch集群監控
- ElasticSearch問題匯總
- ElasticSearch問題
- ElasticSearch學習網站