前言
&34;
名詞解釋
cluster:一個或者多個 node 指定相同的 cluster name,則它們會組成集群,並且自動選舉 master,以及在故障時自動選舉。
node:節點是屬於集群的Elasticsearch的運行實例 。在啟動時,節點將使用單播來發現具有相同集群名稱的現有集群,並將嘗試加入該集群。
index:類似關係資料庫的表,映射一個或者多個主分片,同時擁有零個或多個副本分片。
index alias:索引別名是用於引用一個或多個現有索引的輔助名稱。大多數Elasticsearch API接受索引別名代替索引名稱。
mapping:每個 index 都有一個 mapping ,定義一個 type 以及許多索引範圍的設置。mapping 可以明確定義,也可以在為文檔建立索引後自動生成。
shard:分片是單個Lucene實例。最小的工作單位,由Elasticsearch自動管理。索引是指向主分片和副本分片的邏輯命名空間。
primary shard:每個文檔都存儲在一個主分片中。當您為文檔建立索引時,將首先在主 shard 上建立索引,然後在主 shard 的所有副本上建立索引。默認情況下,索引具有一個主分片。您可以指定更多的主要分片來擴展 索引可以處理的文檔數量。創建索引後,您將無法更改索引中的主要分片數量。但是,可以使用split API將索引拆分為新索引 。
replica shard:每個主分片可以具有零個或多個副本。副本是 primary shard 的副本。
document:document 是存儲在 Elasticsearch 中的 JSON 文檔。每個 document 都存儲在索引中,並且有 type 和 id。被索引的 JSON 文檔 將存儲在 _source 欄位中,該欄位在獲取或搜索文檔時默認返回。
id:每個 document 都有不同的 id,沒有指定的話,會自動生成。
field:一個 document 包含欄位或鍵值對的列表。欄位類似於關係資料庫中表中的列。
source field:默認情況下,索引的JSON文檔存儲在 _source 欄位中,並且將由所有 get 和 search 請求返回。這樣,可以直接從搜索結果中訪問原始對象,而無需執行第二步來從 ID 中檢索對象。
畫圖如下
默認情況下,每個主分片都有一個副本,但是可以在現有索引上動態更改副本的數量。副本分片永遠不會與其主分片在同一節點上啟動。
Elasticsearch 在 集群中的所有節點之間分配分片,並且在節點發生故障或添加新節點的情況下,可以自動將分片從一個節點移動到另一個節點。
分片 默認是 5個,副本默認為 1個。
這篇文章簡單介紹了 ES 的常用名詞,因為只有了解到這些名詞,在小夥伴討論 ES 的時候,才不會一臉懵逼。
相關資料
[1] ES:
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
- <End /> -
作者:劉志航,一個宅宅的北漂程式設計師。
公眾號:liuzhihangs,記錄工作學習中的技術、開發及源碼筆記;時不時分享一些生活中的見聞感悟。歡迎大佬來指導!