ElasticSearch part1

ElasticSearch part1

1、數據庫搜索

模糊匹配(like %str% )

  • 數據多時,每條都要進行匹配,搜索效率低
  • 可能還匹配不到想要的結果,例如想要搜索str1str2,不能搜索出數據庫中對應的str1str3str2

2、全文檢索 & 倒排索引

把所有詞條全部拆成關鍵詞,構成倒排索引,搜索時到倒排索引裏面檢索,就是全文索引

Lucene封裝好了建立倒排索引和搜索的各種算法

3、ES基本概念&特點

基於Java的開源搜索引擎,建立在Apache Lucene基礎上(hin厲害的搜索引擎庫

官網定義:

  • 一個分佈式的實時文檔存儲,每個字段可以被索引與搜索
  • 一個分佈式實時分析搜索引擎
  • 能勝任上百個服務節點的擴展,並支持 PB 級別的結構化或者非結構化數據

特性:分佈式,搜索引擎,數據分析,PB級,RESTful API

  • es = 全文檢索 + 數據分析 + 分佈式技術
  • 對用戶來說(中小型企業)開箱即用
  • 作爲傳統數據庫的補充

4、ES核心概念

Near RealTime(近實時)—— 就是很快啦,從寫入數據到數據可以被搜索有小延遲(1s),搜索和分析秒級

Node(節點)—— 一個運行的es進程

Cluster(集羣)——包含多個或一個Node

Document——es裏面最小的單元,一條數據

Index——包含多個或一個相同或相似Document

Type——允許一個索引中存放不同類型的文檔,可以類比爲表(字段不同)

shard——index可以被拆分成多個shard,放在不同的服務器上(橫向擴展,提高吞吐量和性能)

replica(shard)——shard副本,如果某個節點宕機,避免數據丟失(高可用性,提升搜索的吞吐量)

replica是shard的副本,也是shard,es要求replica和shard不在一個節點上

ElasticSearch 數據庫
Ducument
Type
Index

參考文檔 https://www.cnblogs.com/jajian/p/9976900.html

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