elasticsearch使用lucene作為其底層的搜尋引擎,關於lucene的介紹,可以參考官方**。
lucene關鍵概念:
lucene使用inverted index來儲存term在document中位置的對映關係。 譬如如下文件:
使用inverted index儲存,乙個簡單地對映關係:
term
count
docuemnt
1.01
<1>41
<3>
apache
1<3>
cookbook
1<3>
elasticsearch
2<1>.<2>
mastering
1<2>
server
1<1>
solr
1<3>
在上面的例子中,我們首先將文件切分成乙個乙個term,也就是用空格分割,然後對映表裡面記錄該term總的出現次數以及在哪個document裡面。
document裡面的資料如何生成inverted index?查詢語句如何切分成terms並允許搜尋?相關的東西我們叫做analysis。
score: 用來表示乙個document跟查詢語句的匹配程度,score越高,表明越匹配。
lucene使用**tf/idf**這套計算得分演算法。
data:
下圖是 elasticsearch 和 關係型資料庫的一些術語比較。
server:
**:
Elasticsearch核心概念
一 cluster 1 代表乙個集群,有乙個主節點,通過選舉產生。對外部來說es去中心化,邏輯上是乙個整體。2 主節點負責管理集群狀態,包括管理分片狀態和副本狀態,以及節點的發現和刪除 3 主節點不負責對資料的增刪改查請求處理,只負責維護集群相關狀態 二 shards 分片 1 索引分片,es可以把...
Elasticsearch核心指標
基於google的監控方案,將es監控歸為兩大類五個子類,分別是黑盒監控和白盒監控 四個 指標 詳情可以參考書籍 sre google運維解密 第53頁 黑盒監控 白盒監控 延時 容量 流量 風險提示 上述指標大部分都是基於es介面進行的採集,因此在es故障期間,上述指標可能無法採集,因此,還需要通...
Elasticsearch核心概念
節點是組成elasticsearch集群的基本服務單元,集群中的每個執行中的elasticsearch伺服器都可以稱之為節點,它們共同承擔資料和負載壓力 主節點 負責管理集群範圍內的所有變更 node.master true node.data false 資料節點 儲存資料和其對應的倒排索引 資料...