1. 程式人生 > >ElasticSearch學習筆記 --- 調研筆記知識點

ElasticSearch學習筆記 --- 調研筆記知識點

筆記總結知識點:

1.安裝ElasticSearch。

2.ELasticSearch是使用Java開發並使用Lucene作為核心來實現所有索引和搜尋的功能

3.使用是通過簡單的restful API來使用。

4.安裝Marvel(ES的管理和監控)

5.特點:

分散式的實時檔案儲存,每個欄位都被索引並可被搜尋

分散式的實時分析搜引擎

可以擴充套件到上百臺伺服器,處理PB級機構化或非結構化資料

6.叢集是一組具有相同cluster.name,且網段相同的的結點集合

7.兩種client

{

                        節點客戶端(node client)

                        傳輸客戶端 (Transport client)

}

8.ElasticSearch是面向Document的,儲存整個物件或Document,不僅僅是儲存,還會index

9.索引(名詞):

一個索引就像是傳統關係資料庫中的資料庫,它是先關文件儲存的地方,index的複數是indices或indexes

10.索引(動詞):索引一個文件,表示把一個文件儲存到索引裡面,以便他可以被檢索或者查詢

11.利用倒排索引達到加速索引。

12.使用DSL(Domain Specific Language 領域特定語言)查詢

13.查詢結果可以使用highlight使結果高亮

14.ES還有聚合功能(aggregations)。

15.搜尋方式:

{

                                  簡單搜尋

                                  複雜搜尋

                                  全文檢索

                                  短語搜搜

}

16.一個節點node就是一個ElasticSearch例項,而一個叢集(Cluster)由一個或多個節點組成,他們具有相同的cluster.name, 他們協同工作,分享資料和負載。當有新的節點加入或者刪除結點,叢集會感知並平衡資料。

17.叢集中一個節點會被選舉為主節點(mater),任何結點都可以成為主節點。

18.任意節點知道文件儲存與哪個節點上。

19..檢測叢集健康狀態

20.Primary shard主要分片

       Replicashad複製分片

21.索引是一個儲存關聯資料的地方,實際上索引只是一個用來指向一個或多個分片的邏輯名稱空間。

22.分片可以使主分片,或者複製分片,主分片的資料量決定你最多能儲存多少資料。

23.複製分片是主分片的副本,副分片隨時變化。

24.新加入節點時,系統利用廣播方式尋找cluster.name相同的node,並加入叢集。

25.雙節點叢集


26.單副本三節點叢集

 

27.雙副本三節點叢集

 

28.應對故障

殺掉第一個節點

 

殺掉主節點後,發生的第一件事就是各節點選舉出一個新的節點Node2.

29.Document這個術語指的是擁有唯一ID的最頂層或者根物件(root object)序列化成的json

30.Document通過_index, _type,_id唯一確定

31.索引文件可以利用自己的ID或者是自增的ID     利用put

32.檢索文件也是利用_index, _type, _id

33.檢測文件是否存在

34.pretty引數,美化輸出

35.更新文件 put

36.建立新文件post

37.刪除文件delete

38.併發時鎖的機制

39.外部版本控制,利用帶有版本控制的資料庫+ES,控制ES中的版本管理

40.區域性更新文件(利用指令碼程式碼)

41.更新可能不存在的文件,upsert,若沒有會被建立。

42.檢索多個文件multi-get或者mget API。

43.更省時的批量操作bulk。

44.路由文件到分片:

shard = hash(routing) %number_of_primary_shards

routing值是一個任意字串,它預設是_id但也可以自定義。這個routing字串通過雜湊函式生成一個數字,然後除以主切片的數量得到一個餘數。

45.主分片數量只有在建立索引的時候定義且不能被修改。

46.我們能夠傳送請求給叢集中任意一個節點,每個節點都有能力處理任意請求,每個節點都知道任意文件所在節點。

47.新建,索引,刪除都是寫操作,都必須在主分片上成功完成才能複製到相關的賦值分片上。


48.一致性,預設主分片在嘗試斜入式需要規定數量或過半的分片可用。

規定數量計算公式:

int( (primary + number_of_replicas) / 2) + 1

48.當分片副本不足時,ES會等待更多分片出現,預設一分鐘。可設定引數timeout.

49.檢索文件,文件能夠從主分片或任意一個複製分片被檢索。

50.搜尋工具:

對映(Mapping):資料在每個欄位中的解釋說明

分析(Analysis):全文是如何處理的可以被搜尋的

領域特定語言查詢(Query SQL): ElastocSearch使用的靈活,強大的查詢語言。

51:各種搜尋方式,空搜尋,多索引,多類別,分頁,簡易搜尋,

52.利用倒排索引的結構來做快速的全文搜尋。

53.master結點的數量是奇數,原因是 數值取值為 (有資格當選為Master的節點個數/2+1), 這樣做是為了防止腦裂現象, 防止某些主節點自成一個叢集.當有多個master的時候只有一

個leader。

54.ElasticSearch支援的欄位型別:

 

55.各種查詢,過濾(term, terms, range,exists, missing,bool,match_all. Match,

56.各種排序操作

56.索引管理(建立索引,刪除索引)。