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,它是乙個輕量級的日誌收集處理工...