1、近實時性
elasticsearch 是一個近實時(NRT-near real-time)的搜索平臺,意味着能夠快速的進行數據檢索。
2、集羣概念(Cluster)
在一個elasticsearch集羣中,可以是一個或者多個節點,默認集羣名稱是elasticsearch
,同一個網絡下集羣名字必須唯一,因爲集羣名字可以作爲節點加入集羣的方式。集羣的分環境方式可以通過設置不同的集羣名稱,例如:
- logging-dev
- logging-test
- logging-prod
取名字儘量表達其意。
3、節點(Node)
節點是集羣的組成部分,默認Node的名稱是隨機生成的唯一UUID,如果你不想使用默認值,可以設置任何你所需要的名稱。節點可以配置集羣名稱配置用以加入你想要加入的集羣。
一個集羣中可以擁有任意多數量的節點,意味着它可以無限橫向擴展。
4、索引(index)
索引是具有某種相似特徵的文檔的集合,索引由名稱(必須全部小寫)標識,該名稱用於對其中的文檔執行索引、搜索、更新和刪除操作時引用索引。
5、文檔類型(Type)
在6.x版本之前一個索引下面可以定義多個type用來區分不同數據結構,但是在6.x之後一個index只能對應一個type,並且官方決定在未來某個版本將移除type的概念。
6、文檔(Document)
可以顯示的理解爲 index下面的一條數據就是一個document,它是由json表示的一個數據。
7、分片和副本
分片的概念比較好理解,我將一個大的index拆分成多個分區,與mysql的分區表類似,但是它可以分配資源進行多個分片的檢索之後聚合結果,帶來很大性能上的提升,例如我由1億數據量我拆分到10臺機器去檢索,每臺機器負責1千萬的數據檢索自然就更快了。而副本的作用就是備份index,當主數據出現問題的時候可以使用副本數據。