Elasticsearch基礎

  Elasticsearch是一個開源搜索服務器項目,是優秀的全文搜索和分析引擎。數據庫

1.數據架構的主要概念數組

  (1)索引服務器

    索引(index)是Elasticsearch對邏輯數據的存儲,因此它能夠分爲更小的部分。能夠看做關係型數據的表。架構

    Elasticsearch能夠把索引放在一臺機器或分散在多臺服務器上,每一個索引有一個或多個分片(shard),每一個分片能夠有多個副本。對象

  (2)文檔排序

    存儲在Elasticsearch中的主要實體叫作文檔(document)。能夠看做關係型數據庫的一行記錄。索引

    文檔由多個字段組成,每一個字段能夠屢次出如今一個文檔中,這樣的字段叫作多值字段。每一個字段是有類型,如文本,數值,日期等。字段也能夠是複雜類型,一個字段包含其餘子文檔或數組。內存

    字段類型在Elasticsearch中很重要,由於它給出了各類操做(如分析或排序)如何被操做的信息。文檔不須要固定的結構,每一個文檔能夠有不一樣的字段。文檔

  (3)文檔類型博客

    在Elasticsearch中,一個索引對象能夠存儲多個不一樣用途的對象。如一個博客引用程序中能夠保存文章和評論。

  (4)映射

    Elasticsearch在映射中存儲有關字段的信息,如數值字段和從網頁上抓取的文本字段須要有不一樣的分析。每一個文檔類型都有本身的映射,即便咱們沒有定義。

  從上面咱們知道Elasticsearch把數據存儲在一個或多個索引上,每一個索引包含各類類型的文檔。每一個文檔有不少字段,映射定義了Elasticsearch如何字段這些字段。

2.Elasticsearch主要概念

  (1)節點和集羣

    Elasticsearch能夠做爲一個獨立的單個搜索服務器,不過爲了處理大型數據集,實現容錯和高可用,Elasticsearch能夠運行在多臺服務器上,這些服務器組成集羣,單臺服務器成爲節點。

  (2)分片

    在處理大量數據時,單個節點因爲內存有限、磁盤有限,從而沒法快速響應客戶端請求,這種狀況下,數據能夠分爲較小的部分(分片),每一個分片在不一樣服務器上,最後把結果合併起來。

    分片能加快索引。

  (3)副本

    副本只是一個分片的精確複製,每一個分片能夠有零個或多個副本。也就是說Elasticsearch能夠有多個相同的分片,其中之一被選擇去更改索引操做,這個分片稱爲主分片,其他是副分片,當主分片丟失時,集羣會把副本提高爲主分片。

相關文章
相關標籤/搜索