2020 9 1Elasticsearch核心概念

2021-10-24 04:57:55 字數 1539 閱讀 9594

id

brandname

describe

1小公尺手機

手機中的戰鬥機

2小公尺nfc手機

小公尺手機,支援。。。

3nfc手機

。。。4

小公尺耳機

。。。5

紅公尺耳機

。。。10000000

機械人如果要搜尋小公尺nfc智慧型手機

select * from product where brand like 『%小公尺nfc智慧型手機%』

時間複雜度o(n)

%開頭不使用索引,因為索引缺省會排序,而%查詢,並不知道要找什麼。

資料庫本身不支援分詞,即使手動用分詞器去分詞,本來有1000w的io,分成4個詞,變成4000w的io。所有搜尋沒有用資料庫做的

關係型資料庫:效能差、不可靠、結果不準確(相關度低)

3、倒排索引(els面試必問)、lucence和全文檢索

倒排索引是基於document去操作的

(1) 首先是分詞

標題1標題2

標題3✔

小公尺1,2,4✔手機

1,2,3

✔nfc

2,30

耳機4,50紅公尺

5(2) 有什麼用?

select * from product where brand like 『%小公尺 nfc 智慧型 手機 %』

idbrandname

describe

相關度1

小公尺手機

手機中的戰鬥機22

小公尺nfc手機

小公尺手機,支援。。。33

nfc手機

。。。2

4小公尺耳機

。。。2

5紅公尺耳機

。。。10000000

機械人

}

type:邏輯上的資料分類,

index:索引,一類相同或類似的doc,比如乙個員工索引,商品索引

這裡的等價於指的是:doc在es儲存資料的時候,相當於row在關係型資料庫中row的作用,只是方便理解

doc等價於row type等價於table index等價於db

shard 分片:

好處:1.如果某一台機器宕機,可以保證其他節點資料的完整性

2.橫向擴充套件:如果集群中新增了一台機器,es會自動做shard rebalance,把分片移動到新的節點,分片的均衡

橫向擴容是承載更多的資料,replica shard(副本)是效能提公升(吞吐量上公升)和高可用(如果一台節點宕機,資料仍然可以在副本分片中找到)

1.乙個index包含多個shard,預設5p,預設每個p分配乙個r,p的數量在建立索引的時候設定,如果想修改,需要重建索引。

2.每個shard都是乙個lucene例項,有完整的建立索引的處理請求能力。

3.es會自動在nodes上位我們做shard均衡。

4.乙個doc是不可能、同時存在於多個pshard中的,但是可以存在於多個rshard中。

5.p和對應的 r不能同時存在於同乙個節點,所以最低的可用配置是兩台節點,互為主備。

ElasticSearch系列04 核心概念

一 es配置檔案詳解 elasticsearch.yml es的基本配置檔案 詳見elasticsearch中文.yml logging.yml 日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置來設定就行了。二 es中的核心概念 cluster...

Elasticsearch上手 幾個基本概念

elasticsearch的說明文件中,基本概念 basic concepts 一節中提到了一些術語,結合實踐經驗,嘗試重新理解一下。上面的文件包含了三個字段 user post date和message 我將其理解為文件的型別,如果非要對應到資料庫的概念上,那就是相當於mysql的表結構或者mon...

ELK(一) Elasticsearch基礎概念

elk提供了一整套解決方案,並且都是開源軟體,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用。目前主流的一種日誌系統。elk是三個開源軟體的縮寫,分別表示 elasticsearch logstash,kibana 它們都是開源軟體。新增了乙個filebeat,它是乙個輕量級的日誌收集處理工...