Elastic Search學(xué)習(xí)筆記

一免都、Elastic Search概述:

1.1 Elastic Search 簡介

Elastic Search(ES)是一個基于Lucene構(gòu)建的開源放妈、分布式适袜、RESTFul接口全文搜索引擎兑凿。ES還是一個分布式文檔庫谈为,其中每個字段均是被索引的 數(shù)據(jù)且可被搜索湾揽,它能夠擴(kuò)展至數(shù)以百計的服務(wù)器存貯以及處理PB級的數(shù)據(jù)瓤逼,它可以在短時間內(nèi)存儲、搜索和分析大量的數(shù)據(jù)钝腺。
Elastic Search的主要特點
1.橫向可擴(kuò)展性抛姑。增加一臺機(jī)器,只需要添加集群配置艳狐,啟動Elastic Search進(jìn)行即可定硝;
2.分片機(jī)制。一個索引可以分成多個Sharding毫目,提高處理效率蔬啡;
3.高可用性诲侮。每個分片可以設(shè)置多個備份,少量機(jī)器宕機(jī)不影響正常使用箱蟆;

1.1 Lucene簡介

Lucene是Apache軟件基金會中的一個開源代碼的全文搜索引擎工具包沟绪,方便實現(xiàn)全文檢索的功能。 Lucene是倒敘排序索引空猜,即由屬性的值來確定記錄的位置绽慈,而不是由記錄來確定屬性值。
舉例(轉(zhuǎn)自:《Elasticsearch技術(shù)解析與實戰(zhàn)》):



clipboard.png

字典樹采取trie樹和DAT樹辈毯,這部分待完善...

1.2 Lucene的核心結(jié)構(gòu):

Lucene將上面的三列分別作為詞典文件(Term Dictionary)坝疼、頻率文件(frequencies)、位置文件(positions)保存谆沃,其中詞典文件保存了指向頻率文件和文件位置的指針钝凶,通過指針可以找到該關(guān)鍵字的頻率信息和位置信息。


Elastic Search 5版本的_socre評分.jpg

總結(jié)socre評分有如下四個原則:

1.搜索詞出現(xiàn)次數(shù)越多唁影,得分越高耕陷;
2.搜索詞在整個索引中出現(xiàn)次數(shù)越少,得分越高据沈;
3.搜索字段中所有詞語數(shù)量越少哟沫,得分越高;
4.搜索詞和中的某一條數(shù)據(jù)匹配字段越多锌介,得分越高南用。

1.3 ES的的術(shù)語說明:

Elastic Search和mysql的對應(yīng)關(guān)系

MySql Elastic Search
database index
table type
row document
cloumn field
schema mapping
index Everything is indexed
SQL query DSL
slect * from... get http://...
update talbe set... put http://...

二.集群內(nèi)部結(jié)構(gòu)

ES是主從模式設(shè)計

2.1 主節(jié)點(Master node)

主節(jié)點負(fù)責(zé)集群的相關(guān)操作,管理集群變更掏湾,且全局唯一裹虫,一般采用主節(jié)點和數(shù)據(jù)節(jié)點分離的部署架構(gòu)。為防止數(shù)據(jù)丟失融击,每個主節(jié)點要知道哪些從節(jié)點有資格成為主節(jié)點的數(shù)量筑公。

2.2 數(shù)據(jù)節(jié)點(Data node)

負(fù)責(zé)保存數(shù)據(jù),執(zhí)行數(shù)據(jù)相關(guān)的操作尊浪,一般情況下(特殊除外)匣屡,數(shù)據(jù)讀寫只和數(shù)據(jù)節(jié)點交互,不會和主節(jié)點打交道拇涤。
當(dāng)增加和刪除節(jié)點時捣作,即水平擴(kuò)容,會觸發(fā)rebalance操作鹅士。

clipboard.png

數(shù)據(jù)的路由:

shard = hash(routing) % primary_shard_count
routing默認(rèn)值是document_id的

2.3 預(yù)處理節(jié)點(ingest node,5.0版本引入)

在索引寫入數(shù)據(jù)之前券躁,通過事先定義好的processors和pipeline,對數(shù)據(jù)進(jìn)行轉(zhuǎn)換、富化也拜。processors和pipeline攔截bulk和index請求以舒,在應(yīng)用相關(guān)操作后,將文檔傳回給index或bulk API慢哈。

2.4 協(xié)調(diào)節(jié)點(Coordinating node)

協(xié)調(diào)節(jié)點將請求轉(zhuǎn)發(fā)給Data node,每個Data node在本地執(zhí)行請求蔓钟,并返回給協(xié)調(diào)節(jié)點,協(xié)調(diào)節(jié)點將每個Data node的結(jié)果收集卵贱、合并甚至排序為單個全局結(jié)果滥沫,因此協(xié)調(diào)節(jié)點需要較多的CPU和內(nèi)存資源。

數(shù)據(jù)寫入過程:

ES寫入操作.jpg

數(shù)據(jù)寫入的consistency參數(shù):

quorum(默認(rèn)):
要求大部分的shard是活躍的键俱,那么寫入操作可執(zhí)行佣谐。

quorum = int((primary_count+number_of_replica) /2 ) + 1

當(dāng)quorum個數(shù)不夠時,默認(rèn)等待一分鐘方妖,如果一分鐘內(nèi)quorum個數(shù)仍然不夠才不再執(zhí)行。
one:
只要有一個primary shard是活躍的罚攀,那么寫入操作可執(zhí)行党觅。
all:
當(dāng)所有shard是活躍的(primary shard + replica shard),那么寫入操作才可執(zhí)行斋泄。

數(shù)據(jù)查詢的timeout參數(shù):

timeout機(jī)制杯瞻,指定每個shard只能在timeout時間內(nèi)(默認(rèn)無timeout限制),將檢索到的結(jié)果(可能只有一部分)返回給client炫掐,而不是等所有查詢結(jié)果全部搜索出來再返回魁莉,避免搜索時間過長,影響用戶體驗募胃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旗唁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痹束,更是在濱河造成了極大的恐慌检疫,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祷嘶,死亡現(xiàn)場離奇詭異屎媳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)论巍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門烛谊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嘉汰,你說我怎么就攤上這事丹禀。” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵湃崩,是天一觀的道長荧降。 經(jīng)常有香客問我,道長攒读,這世上最難降的妖魔是什么朵诫? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮薄扁,結(jié)果婚禮上剪返,老公的妹妹穿的比我還像新娘。我一直安慰自己邓梅,他們只是感情好脱盲,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著日缨,像睡著了一般钱反。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匣距,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天面哥,我揣著相機(jī)與錄音,去河邊找鬼毅待。 笑死尚卫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尸红。 我是一名探鬼主播吱涉,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼外里!你這毒婦竟也來了怎爵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤盅蝗,失蹤者是張志新(化名)和其女友劉穎疙咸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體风科,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡撒轮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了贼穆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片题山。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖故痊,靈堂內(nèi)的尸體忽然破棺而出顶瞳,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布慨菱,位于F島的核電站焰络,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏符喝。R本人自食惡果不足惜闪彼,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望协饲。 院中可真熱鬧畏腕,春花似錦、人聲如沸茉稠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽而线。三九已至铭污,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膀篮,已是汗流浹背嘹狞。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留各拷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓闷营,卻偏偏與公主長得像烤黍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子傻盟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容