1. 程式人生 > >ElasticSearch學習(一) 基本概念

ElasticSearch學習(一) 基本概念

基本概念

官方文件

1 Near Realtime(NRT) 幾乎實時

ES是一個幾乎實時的查詢平臺,從開始執行查詢命令,到文件可檢視,只需要1s

2 Cluster 叢集

  1. 叢集用來承載資料以及聯邦查詢能力,可以有一個或者多個節點(主機)。
  2. 一個叢集用一個唯一的名字來標識一個叢集用一個唯一的名字來標識
  3. 一臺主機只能隸屬於一個叢集一臺主機只能隸屬於一個叢集

3 Node 節點

  1. node是叢集裡面的一臺伺服器,用來儲存資料,提供檢索、查詢能力。
  2. node預設在初始化的時候通過UUID唯一標識,可以在任何時候改名。
  3. node可以被制定隸屬於某個叢集,同一個叢集裡面的node會相互尋找對方,並自動初始化。
  4. 一個叢集可以有無限多的節點,也可以只有一個節點。

4 Index 索引

  1. index是document的集合,類似於characteristics的概念。
  2. 舉例:一個用於儲存客戶資料的index,一個儲存產品目錄的index,一個用於儲存有序資料的index
  3. index命名必須全是小寫,後面對document的檢索、查詢、更新、刪除等操作都是基於這個名字。

5 Type 型別

  1. type用來對index做邏輯上的分割槽或者目錄。
  2. 通過type,可以將不同型別的document儲存在相同類

6 Document 文件

  1. document是能被檢索的資訊的最小單元。
  2. 舉例:一個單個使用者的document,一個單個產品的document,一個單個命令的document。
  3. document儲存為JSON格式。
  4. 一個index或者type中可以有多個無限多個document

7 Shards&Replicas 分片和複製

  1. 每個index能被分成多個shards
  2. 每個index能被replicated0次或者多次
  3. 備份之後,shards就分為primary shards和replica shards(簡稱replicas)
  4. shards和replicas能在index被建立的時候設定
  5. 也可以在建立之後,使用改變數量也可以在建立之後,使用_shrink和_split API改變數量。
  6. 可以通過設定shards和replica的數量進行調優,預設對於有兩臺以上主機的叢集,對一個index會建立5份shards,1份replicas,即共10份shards