跟着文檔學ES基本概念

Elasticsearch Reference [5.6] » Getting Started » Basic Conceptshtml

Near RealTime(NRT)

ES是一個即時搜索平臺,這意味着使用ES索引一個文檔,輸入內容就能出現搜索結果,基本沒有延時。服務器

Cluster集羣

集羣是一個或多個節點(服務器)的集合,它們一塊兒保存您的全部數據,並在全部節點上提供聯合索引和搜索功能。網絡

每一個集羣都有一個獨一無二的名字,默認是「elasitcsearch」。elasticsearch

一個節點只能從屬於一個集羣。一個節點加入一個集羣的方式就是經過指定cluster name.ide

通常 推薦在不一樣的環境使用不一樣的cluster name,例如,logging-dev,logging-stage,logging-prod,分別對應於開發環境,staging,以及production環境。性能

一個節點也能夠成爲一個集羣。ui

節點

一個節點是一個single server。存儲數據、參與集羣的索引和搜索。server

節點也有一個獨一無二的名字。節點啓動時,被指定了一個UUID做爲名字,固然,本身能夠定義節點的名字。htm

節點啓動時被默認加入一個名爲「elasticsearch」的集羣。blog

Index 索引

索引是具備相同特徵的文檔的集合,例如,你能夠有一個索引,用來索引用戶數據,另外一個索引,用來索引產品目錄,還有一個索引用來索引訂單數據。

索引也有獨一無二的名字,索引名字必須所有小寫。當執行索引、搜索、更新、刪除操做時,索引名字用來指向某個索引。

Type

在一個索引中,能夠定義多個類型,類型就是索引的邏輯分類或分區。

類型是爲具備一組公共字段的文檔定義的。例如,在一個博客平臺,全部的數據存儲在一個索引上,在這個索引上,能夠定義一個user data類型,一個blog data類型,一個comments data索引。

Document 文檔

文檔是能夠被索引的基本單位。例如,能夠爲單個用戶提供一個文檔,單個產品提供一個文檔,單個訂單提供另外一文檔。

文檔以JSON格式表示。

在一個索引/類型中,能夠存儲不少文檔,

Shard&Replica 碎片和碎片複製

單個index可能存儲數TB的數據,單個服務器的硬盤支撐不了折磨多數據,因此ElasticSearch提供了將index分紅多個碎片。

建立索引的時候能夠指定分片的個數。

分片使得能夠實現水平切分縮放內容。 容許您跨越多個分片分發和並行化操做(可能在多個節點)從而增長性能和吞吐量

ElasticSearch是如何分發碎片以及文檔如何聚合到一個搜索請求的,對用戶來講是透明的。

在網絡/雲環境中,失敗隨時可能發生,若是一個節點/分片發生了錯誤,要有故障轉移機制來處理錯誤,Elasticsearch容許複製一份或多份分片,就作Replica.

總結

每一個索引均可以被分爲多個碎片,也能夠被複制多份。一旦被複制,索引就會有一個primary shard和replica shard。

shard和replica的數量是在index建立的時候指定的。index建立以後,能夠改變replica的數量,當時不能改變shard的數量。

ElasticSearch默認爲每一個index分配5個primary shard和1個replica。

相關文章
相關標籤/搜索