asticsearch是基于Apache 2.0開(kāi)源的實(shí)時(shí)、分布式、分析搜索引擎,相比Lucene,Elasticsearch的上手比較容易,這篇文章主要紀(jì)錄Elasticsearch的基本概念和基本API。
官方對(duì)Elasticsearch的定義:
Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data so you can discover the expected and uncover the unexpected.
你可能已經(jīng)在Elasticsearch的文檔中看過(guò)如下詞匯:
NRT: 近實(shí)時(shí)(Near Realtime),當(dāng)一個(gè)文檔保存至index,短暫的延遲后就可以被搜索。
Node: 指單個(gè)實(shí)例,存儲(chǔ)文檔并參與所在集群的索引和搜索,一臺(tái)機(jī)器可以運(yùn)行多個(gè)實(shí)例,每個(gè)實(shí)例啟動(dòng)時(shí)都有自己的唯一標(biāo)識(shí)。
Cluster: 指多個(gè)實(shí)例組成的集群,集群中的節(jié)點(diǎn)有相同的cluster.name(默認(rèn)為"elasticsearch"),用戶可以通過(guò)集群對(duì)多個(gè)節(jié)點(diǎn)的所有數(shù)據(jù)進(jìn)行索引和搜索。
Index: 索引在Elasticsearch中有兩種含義。作為名詞,索引可以指文檔的集合,作為動(dòng)詞,可以說(shuō)"對(duì)某個(gè)文檔進(jìn)行索引",也就是把文檔存儲(chǔ)到索引。一個(gè)index的名稱即為其標(biāo)識(shí),名稱必須為小寫(xiě)。如果和RDBMS相比的話,index的概念可能和database比較相似。
Type: 用于對(duì)同一個(gè)index中的數(shù)據(jù)進(jìn)行邏輯分類。例如,有個(gè)存儲(chǔ)了sns數(shù)據(jù)的index,這個(gè)index中可能存在多個(gè)類型,例如用戶資料數(shù)據(jù)、評(píng)論數(shù)據(jù)、聊天數(shù)據(jù)...
Document: 文檔以JSON格式存儲(chǔ),文檔中包含多個(gè)字段,每個(gè)文檔都有自己的類型并存儲(chǔ)于index中。
Shards: index可以切分成多個(gè)shard,每個(gè)shard分布到不同的節(jié)點(diǎn)上。通過(guò)shard可以在存儲(chǔ)還是搜索上緩解單個(gè)節(jié)點(diǎn)的壓力。
Replicas: 對(duì)shard進(jìn)行復(fù)制,通過(guò)副本不僅保證了可用性,也提高了搜索效率。
一個(gè)index可以分為多個(gè)shard,默認(rèn)配置下,每個(gè)index有5個(gè)primary shards和1個(gè)副本(也就是5個(gè)replica shards),也就是說(shuō)這個(gè)index有10個(gè)shards。
為了進(jìn)一步說(shuō)明,這里簡(jiǎn)單說(shuō)明一下安裝過(guò)程。
首先需要確認(rèn)機(jī)器上是否已經(jīng)安裝了Java,這里建議使用java 8:
java -versionecho $JAVA_HOME
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26