索引(index)是ElasticSearch存放具體數據的地方,是一類具備類似特徵的文檔的集合。ElasticSearch中索引的概念具備不一樣意思,這裏的索引至關於關係數據庫中的一個數據庫實例。
在ElasticSearch中索引還能夠做爲動詞,表示對數據進行索引操做。數據庫
在6.0以前的版本,一個ElasticSearch索引中,能夠有多個類型;
從6.0版本開始,,一個ElasticSearch索引中,只有1個類型。一個類型是索引的一個邏輯上的分類,一般具備一組相同字段的文檔組成。
ElasticSearch的類型概念至關於關係數據庫的數據表。app
未來type將被移除。索引
文檔是ElasticSearch可被索引的基礎邏輯單元,至關於關係數據庫中數據表的一行數據。ElasticSearch的文檔具備JSON格式,由多個字段組成,字段至關於關係數據庫中列的概念。文檔
ElasticSearch | RDBMS |
---|---|
索引(index) | 數據庫(database) |
類型(type) | 表(table) |
文檔(document) | 行(row) |
字段(field) | 列(column) |
映射(mapping) | 表結構(schema) |
全文索引 | 索引 |
查詢DSL | SQL |
GET | select |
PUT/POST | update |
DELETE | delete |
當數據量較大時,索引的存儲空間需求超出單個節點磁盤容量的限制,或者出現單個節點處理速度較慢。
爲了解決這些問題,ElasticSearch將索引中的數據進行切分紅多個分片(shard),每一個分片存儲這個索引的一部分數據,分佈在不一樣節點上。
當須要查詢索引時,ElasticSearch將查詢發送到每一個相關分片,以後將查詢結果合併,這個過程對ElasticSearch應用來講是透明的,用戶感知不到分片的存在。
一個索引的分片一旦指定,再也不修改。table
其實,分片全稱是主分片,簡稱爲分片。
主分片是相對於副原本說的,副本是對主分片的一個或多個複製版本(或稱拷貝),這些複製版本(拷貝)能夠稱爲複製分片,能夠直接稱之爲副本。
當主分片丟失時,集羣能夠將一個副本升級爲新的主分片。ast