標籤 : Elasticsearchhtml
[TOC]node
本文是 Elasticsearch 5.0 系列博文的基礎概念篇,主要介紹集羣,節點,索引,類型,文檔,分片,副本等基礎概念git
有關概念在Basic Concepts中已經介紹的很詳細了,這裏簡單說一下。github
下面就這幾個概念進一步說明數據庫
其中索引,類型,文檔的概念能夠類比關係型數據庫elasticsearch
Elasticsearch | 關係型數據庫 |
---|---|
索引(index) | 數據庫(database) |
類型(type) | 表(table) |
文檔(document) | 行記錄(row) |
字段(field) | 列(column) |
爲何有 shard?ide
爲何有replica?性能
Elasticsearch 默認爲每一個 index 建立 5 個主分片,且備份數爲 1。也就是說,每一個索引由 5 個主分片組成,而且每一個分片擁有一個備份。須要注意的是,主分片的數量一旦肯定,以後是不能更改的(除非從新創建索引),而 replicas 的數量能夠在以後隨時更改。網站
因此在上一篇文章中,咱們啓動 Kibana 後在 Consonle
查詢索引狀態GET /_cat/indices?v
,會發現 health
是 yellow
而不是 green
,就是由於咱們只開啓了一個節點,並且 Kibana 啓動後在 Elasticsearch 中創建了一個默認索引 .kibana
,該索引只有 1 個主分片和一個副本,故 shard 都在該節點上,而 shard 的副本不能和該 shard 分配在同一節點,故未生效,從而致使狀態是黃色。ui
另外,每一個索引被分配到多個分片,但 number_of_shards
的值只適用於索引,而不是整個集羣。這個值指定了每一個索引的分片數,而非整個集羣中的所有主分片數。(摘自Optimizing Elasticsearch: How Many Shards per Index?)