關於ElasticSearch的一些膚淺的思考

2021-07-04 01:19:57 字數 710 閱讀 9665

1.文章背景

初次研究elasticsearch,關於其中的「集群」、「節點」、「主分片」、「從分片」、「索引」、「型別」、「文件」、「字段」這幾個概念,分析它們之間的主從關係。通過閱讀文件以及檢視例項,有了一點自己的心得體會。現在此做一下描述,如有不確之處,歡迎批評指正。

2. 本文不做討論的內容

本文僅對於「集群」、「節點」、「主分片」、「從分片」、「索引」、「型別」、「文件」、「字段」這幾個概念進行簡單模擬,不對其功能及作用進行討論。

3.關於概念的思考

首先,「集群」(cluster)的概念是:一組有著同樣cluster.name的節點(node)。

如果,我們將

集群比作類似中醫用的「中藥櫃」的乙個櫃子,

節點就是櫃子上面的乙個個的小抽屜。

藥店老闆配出了一付藥(

索引),把藥分成了n份(預設5份),藥店老闆將分好的藥放進抽屜裡的格仔中(格仔的數量不固定,按需增減),盡量使櫃子上的抽屜得到充分使用(平衡負載),這每乙份藥所在的格仔就是乙個

主分片。

為了防止藥在儲存時發生丟失,藥店老闆著夥計照每乙份藥另配了n付(預設一付),放在與原版那份不同的抽屜的格仔中,這些格仔就形成了n組

從分片。

這付藥的君臣佐使(或者按溫涼寒熱來分)就是

型別;具體到這付藥中的一味藥材,就是

文件;這味藥材的各種特性(外觀、氣味、味道、藥用價值等屬性)就是

字段。

ElasticSearch關於倒排索引

在我們說倒排索引的時候讓我們先去了解一下什麼叫做正排索引 在說倒排索引之前我們先說說什麼是正排索引。正排索引也稱為 前向索引 它是建立倒排索引的基礎。這種組織方法在建立索引的時候結構比較簡單,建立比較方便且易於維護 因為索引是基於文件建立的,若是有新的文件加入,直接為該文件建立乙個新的索引塊,掛接在...

關於elasticsearch在系統架構中的位置

最近由於專案的原因,開始接觸到es。在使用和學習的過程中,不斷的產生著各種疑問讓我略顯迷茫。所以開始撰寫這篇部落格來記錄和推進自己對elasticsearch的學習。就現在而言,題目可能起的有點過於大。對於還並不算合格的程式設計師的我來說,談架構還為時尚早。但我希望在這篇文章終結的時候,自己能夠成長...

關於ElasticSearch搜尋效果的問題分析

如何聚合多個節點或分片的資料生成返回結果?es是如何將相關度高的內容能放在前面的?在對mysql進行分庫分表的時候,經常會遇到乙個問題 如果查詢的資料分散在多張表中,因為涉及到組合多種表的資料,將會非常麻煩 對於有些分頁場景,更是乙個災難,所以對mysql分庫分表的時候經常會基於查詢維度來盡量避免跨...