ES對(duì)于數(shù)據(jù)上的數(shù)據(jù)模型如下:
index type document field mapping
與數(shù)據(jù)庫(kù)的概念一一對(duì)應(yīng)的為
db table row column schema
ES 導(dǎo)入數(shù)據(jù)時(shí)會(huì)自動(dòng)的建立document的mapping, 導(dǎo)入的數(shù)據(jù)為json數(shù)據(jù)格式
ES 中所有的搜索都是基于文檔的,在此基礎(chǔ)上又三種搜索方式:
檢索(根據(jù) index, type, id 查找某一文檔)
搜索(調(diào)用 search接口根據(jù)query進(jìn)行簡(jiǎn)單或者復(fù)雜的條件進(jìn)行搜索恳守,包括簡(jiǎn)單搜索,復(fù)雜搜索,全文搜索曲伊,段落搜索)
聚合統(tǒng)計(jì) ( 調(diào)用 search接口根據(jù)aggs 進(jìn)行各種統(tǒng)計(jì)操作叶组,并且可以配合query進(jìn)行使用)
一個(gè)節(jié)點(diǎn)(node)就是一個(gè)Elasticsearch實(shí)例阶祭,一個(gè)集群由多個(gè)節(jié)點(diǎn)組成,它們擁有相同的
cluster勒奇。name. 當(dāng)加入新的節(jié)點(diǎn)或者刪除一個(gè)節(jié)點(diǎn)時(shí)预鬓,集群就會(huì)自動(dòng)感知到并平衡數(shù)據(jù)。
集群中的一個(gè)節(jié)點(diǎn)會(huì)被選舉為主節(jié)點(diǎn)(master)赊颠,它將臨時(shí)管理集群級(jí)別的一些變更格二,例如新建或者刪除索引。主節(jié)點(diǎn)不參與文檔級(jí)別的變更或者搜索竣蹦,該節(jié)點(diǎn)不會(huì)成為集群的瓶頸顶猜。
集群健康:
集群監(jiān)控有三種狀態(tài): green, yellow 或red
顏色 意義
green 所有的主要分片和復(fù)制分片都可用
yellow 所有主要分片可用痘括,但不是所有復(fù)制分片都可用
red 不是所有的主要分片都可用
主要分片(primary sahrd) 復(fù)制分片(replica shard)
索引:
索引(index)關(guān)聯(lián)存儲(chǔ)數(shù)據(jù)的地方长窄,用來(lái)指向一個(gè)或多個(gè)分片(shards)的 邏輯命名空間
分片:
一個(gè)分片(shard)是一個(gè)最小級(jí)別 "工作單元(worker unit)",保存了索引的一部分?jǐn)?shù)據(jù)纲菌,(可以理解為hadoop中hdfs的塊以及mapreduce中的task集合體挠日,即處理一塊數(shù)據(jù)的數(shù)據(jù)和程序)
實(shí)現(xiàn)上 一個(gè)分片就是一個(gè)Luence實(shí)例,并且它本身就是一個(gè)完整的搜索引擎翰舌。文檔存儲(chǔ)在分片中嚣潜,并且在分片中被索引。
當(dāng)索引創(chuàng)建完成的時(shí)候椅贱,主分片的數(shù)量就固定了(默認(rèn)為5)懂算,復(fù)制分片的數(shù)量可以隨時(shí)調(diào)整
(需要提前思考創(chuàng)建多少主分片只冻,因?yàn)橹鞣制臄?shù)量是不變的,文檔的大小和復(fù)雜度计技,期望的響應(yīng)時(shí)間喜德,文檔數(shù)量,文檔的屬性等酸役,如果數(shù)據(jù)量可能很大住诸,就需要?jiǎng)?chuàng)建多個(gè)分片,從而提高搜索的響應(yīng)時(shí)間)
故障轉(zhuǎn)移:
按照道理來(lái)講涣澡,只要節(jié)點(diǎn)之間擁有相同的 cluster.name 那么它們就會(huì)被自動(dòng)發(fā)現(xiàn)贱呐,如果沒(méi)有,則有可能是 網(wǎng)絡(luò)廣播被禁用入桂,或者防火墻阻止了節(jié)點(diǎn)通信
問(wèn)題一:當(dāng)主節(jié)點(diǎn)(master)掛了奄薇,其他節(jié)點(diǎn)可以選舉為主節(jié)點(diǎn),但是主節(jié)點(diǎn)的元數(shù)據(jù)呢抗愁,還是說(shuō)主節(jié)點(diǎn)的元數(shù)據(jù)也已經(jīng)在其他節(jié)點(diǎn)有備份馁蒂。