Elasticsearch(一)基本概念

ElasticSearch Lucene JSON JavaScript IT星源 2017-06-03

ElasticSearch是一個基於Lucene的搜索服務器

Elasticsearch(一)基本概念

近實時(NRT)

Elasticsearch是一個接近實時的搜索平臺。這意味著從您將文檔索引直到可搜索的時間稍微延遲(通常為1秒)。

集群

集群是一個或多個節點(服務器)的集合,它們共同保存整個數據,並在所有節點上提供聯合的索引和搜索功能。集群由唯一的名稱標識,默認情況下是“elasticsearch”。該名稱很重要,因為節點通過設置其名稱加入集群。

確保不要在不同的環境中重複使用相同的集群名稱,否則可能會導致加入錯誤集群的節點。例如,您可以對開發,分期和生產集群使用logging-dev,logging-stage和logging-prod。

您還可以擁有多個獨立的集群,每個集群都有自己獨特的集群名稱。

節點

節點是作為集群一部分的單一服務器,存儲您的數據,並參與集群的索引和搜索功能。就像一個集群一樣,一個節點由一個名稱來標識,默認情況下是一個 通用唯一標識符(UUID),它在啟動時分配給該節點。如果您不希望使用默認值,則可以定義所需的任何節點名稱。此名稱對於管理目的很重要,您希望確定網絡中哪些服務器對應於Elasticsearch集群中的哪些節點。

可以將節點配置為按集群名稱加入特定集群。默認情況下,每個節點都設置為加入名為elasticsearch的群集,這意味著如果您在網絡上啟動了多個節點,並且假設它們可以相互發現,則它們將自動形成並加入名為elasticsearch的單個群集。

在一個集群中,您可以擁有任意多的節點數。此外,如果您的網絡上當前沒有其他Elasticsearch節點運行,則啟動一個節點將默認形成名為elasticsearch的新的單節點群集。

索引

索引是具有某種相似特徵的文檔的集合。例如,您可以擁有客戶數據的索引,產品目錄的另一個索引,以及訂單數據的索引。索引由名稱(必須全部為小寫)標識,該名稱用於在針對其中的文檔執行索引,搜索,更新和刪除操作時引用索引。

在單個集群中,您可以根據需要定義任意多的索引。

類型

在索引中,您可以定義一個或多個類型。類型是您的索引的邏輯類別/分區,其語義完全取決於您。通常,為具有一組公共字段的文檔定義了一種類型。例如,假設您運行一個博客平臺,並將所有數據存儲在單個索引中。在此索引中,您可以定義用戶數據類型,博客數據類型以及註釋數據的類型。

文檔

文檔是可以索引的基本信息單元。例如,您可以為單個客戶提供文檔,單個產品的文檔,單個訂單的另一個文檔。該文檔以JSON(JavaScript Object Notation)表示,它是一種無處不在的互聯網數據交換格式。

在索引/類型中,您可以存儲儘可能多的文檔。請注意,儘管文檔物理上位於索引中,但文檔實際上必須被索引並分配給索引中的類型。

分片和副本

索引可能潛在地存儲可能超過單個節點的硬件限制的大量數據。例如,佔用1TB磁盤空間的10億個文檔的單個索引可能不適合單個節點的磁盤;或者可能太慢,無法單獨從單個節點提供搜索請求。

為了解決這個問題,Elasticsearch提供了將索引細分為多個稱為碎片的片段的功能。創建索引時,可以簡單地定義所需的分片數。每個分片本身就是一個功能完整且獨立的“索引”,可以在集群中的任何節點上託管。

分片很重要,主要原因有兩個:

  • 它允許水平分割/縮放內容

  • 它允許在分片(可能在多個節點上)分佈和並行操作,從而提高性能/吞吐量

分片的機制,以及它的文檔如何彙總回到搜索請求中完全由Elasticsearch管理,並且對用戶來說是透明的。

在可以隨時預期故障的網絡/雲環境中,非常有用,並強烈建議使用故障轉移機制,以防止碎片/節點以任何方式脫機或消失。為此,Elasticsearch允許您將索引的碎片的一個或多個副本複製到所謂的複製分片,或簡寫為複本。

複製很重要,主要原因有兩個:

  • 如果分片/節點出現故障,可提供高可用性。因此,重要的是要注意,複製分片從未從與其複製的原始/主分片在同一節點上分配。

  • 它允許您擴展搜索量/吞吐量,因為可以對所有副本並行執行搜索。

總而言之,每個索引可以分為多個分片。索引也可以被複製為零次(意味著沒有副本)或多次。一旦複製,每個索引將具有主碎片(複製的原始碎片)和副碎片(主碎片的副本)。可以在創建索引時根據索引定義碎片和副本的數量。創建索引後,您可以隨時動態更改副本數,但不能更改事後的分片數。

默認情況下,Elasticsearch中的每個索引都分配了5個主分片和1個副本,這意味著如果您的集群中至少有兩個節點,則索引將具有5個主分片,另外5個複本分片(1個完整副本)。一共10個分片

相關推薦

推薦中...