穀粒商城學習——P102ElasticSearch簡介

@ES官網

ElasticSearch下文及以後簡稱es

es是什麼,能做哪些事情,有哪些特點?

es是搜索和分析引擎,開源、分佈式,適用於所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據等。Elasticsearch 在 Apache Lucene 的基礎上開發而成,因 REST 風格 API、分佈式特性、速度和可擴展性而聞名,有以下用途:

  • 應用程序搜索
  • 網站搜索
  • 企業搜索
  • 日誌處理和分析
  • 基礎設施指標和容器監測
  • 應用程序性能監測
  • 地理空間數據分析和可視化
  • 安全分析
  • 業務分析

@官網相關說明

基本概念:

 

1,Index(索引)

  作動詞時,可理解爲插入,相當於mysql的insert

  做名詞時,相當於mysql的數據庫

2,Type類型

  相當於mysql中的table,在Index(索引)中,可以定義一個或多個類型

3,Document(文檔)

  相當於mysql中,table的行數據。是保存在某個索引(Index)下,某種類型(Type)的一個數據(Document),json格式

4,屬性

  相當於table表的字段

老師講課課件:

 

 

ES爲什麼檢索高效?

得益於倒排索引機制,以“紅海行動”爲例說說這個機制的原理:

將紅海行動存一條記錄,假如命名這條爲1

紅海行動進行分詞,比如分爲紅海和行動兩個詞,將這倆詞再維護到倒排索引表中,這個索引表就會這樣記錄

紅海  1

行動  1

上面的意思是紅海這個詞在記錄1中存在,行動這個詞在記錄1中存在

同理,如果存探索紅海行動爲記錄2,倒排索引表就是這樣

探索  2

紅海  2

行動  2

合起來就是

探索  2

紅海  1,2

行動  1,2

類推紅海特工行動3就是

探索  2

紅海  1,2,3

行動  1,2,3

特工  3

 

來檢索時,首先分詞,比如特工行動這4個字,特工檢索結果是3,行動檢索結果是1,2,3,所以檢索返回的結果就是1,2,3對應的數據:

紅海行動

探索紅海行動

紅海特工行動

返回這3條記錄會有相關性得分,本例中,3記錄出現了兩次,1和2記錄都是出現兩次,那就是3記錄“紅海特工行動”得分最高

老師講課課件:

 

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