ElasticSearch學習筆記(1)-概念

一、概念

1、倒排索引

將文檔進行分詞,形成詞條和id的對應關係即爲反向索引。

ElasticSearch是一個基於Lucene的搜索服務器。

是一個分佈式、高擴展、高實時的搜索與數據分析引擎
•基於RESTful web接口
•Elasticsearch是用Java語言開發的,並作爲Apache許可條款下的開放源碼發佈,是一種流行的企業級搜索引擎
•官網:https://www.elastic.co/
應用場景
搜索:海量數據的查詢
•日誌數據分析
•實時數據分析

 

以唐詩爲例,所處包含“前”的詩句
正向索引:由《靜夜思》-->窗前明月光--->“前”字
反向索引:“前”字-->窗前明月光-->《靜夜思》
反向索引的實現就是對詩句進行分詞,分成單個的詞,由詞推據,即爲反向索引
“牀前明月光”--> 分詞
將一段文本按照一定的規則,拆分爲不同的詞條(term)

 

 

 

 

2、ES存儲和查詢的原理

index(索引):相當於mysql的庫
映射:相當於mysql 的表結構
document(文檔):相當於mysql的表中的數據

 數據庫查詢存在的問題:

1. 性能低:使用模糊查詢,左邊有通配符,不會走索引,會全表掃描,性能低
2. 功能弱:如果以”華爲手機“作爲條件,查詢不出來數據

Es使用倒排索引,對title 進行分詞

 

 二、ES的核心概念

索引(index)

ElasticSearch存儲數據的地方,可以理解成關係型數據庫中的數據庫概念。


映射(mapping)

mapping定義了每個字段的類型、字段所使用的分詞器等。相當於關係型數據庫中的表結構。

文檔(document)

Elasticsearch中的最小數據單元,常以json格式顯示。一個document相當於關係型數據庫中的一行數據。


倒排索引

一個倒排索引由文檔中所有不重複詞的列表構成,對於其中每個詞,對應一個包含它的文檔id列表。


類型(type)

一種type就像一類表。如用戶表、角色表等。在Elasticsearch7.X默認type爲_doc。

ES 7.x以後,將逐步移除type這個概念,現在的操作已經不再使用,默認_doc 。

 

 三、ES的幾個操作

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章