<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Elasticsearch 是一個分散式可延伸的實時搜尋和分析引擎,一個建立在全文搜尋引擎 Apache Lucene™ 基礎上的搜尋引擎.當然 Elasticsearch 並不僅僅是 Lucene 那麼簡單,它不僅包括了全文搜尋功能,還可以進行以下工作:
以下為ES和Mysql等的對照關係
Relational DB | Elasticsearch |
---|---|
資料庫(database) | 索引(indices) |
表(tables) | types |
行(rows) | documents |
欄位(columns) | fields |
就是類似關係型資料庫的一行行的記錄
elasticsearch是面向檔案的,那麼就意味著索弓和搜尋資料的最小單位是檔案。
elasticsearch中,檔案有幾個重要屬性:
儘管我們可以隨意的新增或者忽略某個欄位,但是,每個欄位的型別非常重要,比如一一個年齡欄位型別,可以是字串也可以是整形。因為elasticsearch會儲存欄位和型別之間的對映及其他的設定。這種對映具體到每個對映的每種型別,這也是為什麼在elasticsearch中,型別有時候也稱為對映型別。
ES7之後Type被捨棄
型別是檔案的邏輯容器,就像關係型資料庫中的表一樣。
型別中對於欄位的定義稱為對映,比如name對映為字串型別。
我們說檔案是無模式的 ,它們不需要擁有對映中所定義的所有欄位。
但是如果要新增一個欄位,那麼elasticsearch的流程是什麼?
elasticsearch會自動的將新欄位加入對映,但是這個欄位的不確定它是什麼型別, elasticsearch就開始猜,如果這個值是18 ,那麼elasticsearch會認為它是整形。但是elasticsearch也可能猜不對 ,所以最安全的方式就是提前定義好所需要的對映,這點跟關係型資料庫殊途同歸了,先定義好欄位,然後再使用。
可以淺顯的理解為就是資料庫。
索引是對映型別的容器, elasticsearch中的索引是一個非常大的檔案集合。索引儲存了對映型別的欄位和其他設定。然後它們被儲存到了各個分片上。
Node為叢集中的單臺節點,其可以為master節點亦可為slave節點(節點屬性由叢集內部選舉得出)並提供儲存相關資料的功能
在es中,預設一個Es就是一個叢集,一個叢集又至少有一個節點。而一個節點就是一個es程序,節點可以有多個預設索引,如果你建立新索引,那麼索引將會由5個分片( primary shard ,又稱主分片)構成,每一個主分片會有一個副本( replica shard ,又稱複製分片)
分片有兩種型別:primary主片和replica副本,primary用於檔案儲存,Replica shard是Primary Shard的副本,用於冗餘資料及提高搜尋效能。
上圖是一個有3個節點的叢集,可以看到主分片和對應的複製分片都不會在同一個節點內,這樣有利於某個節點掛掉了,資料也不至於丟失。
實際上, 一個分片是一個Lucene索引, 一個包含倒排索引的檔案目錄,倒排索引的結構使得elasticsearch在不掃描全部檔案的情況下,就能告訴你哪些檔案包含特定的關鍵字
elasticsearch使用的是一種稱為倒排索引的結構,採用Lucene倒排索作為底層。這種結構適用於快速的全文搜尋,一個索引由檔案中所有不重複的列表構成,對於每一個詞,都有一個包含它的檔案列表。 例如,現在有兩個檔案,每個檔案包含如下內容:
Study every day, good good up to forever # 檔案1包含的內容 To forever, study every day,good good up # 檔案2包含的內容
為為建立倒排索引,我們首先要將每個檔案拆分成獨立的詞(或稱為詞條或者tokens) ,然後建立一個包含所有不重複的詞條的排序列表,然後列出每個詞條出現在哪個檔案:
現在,我們試圖搜尋 to forever,只需要檢視包含每個詞條的檔案
兩個檔案都匹配,但是第一個檔案比第二個匹配程度更高。如果沒有別的條件,現在,這兩個包含關鍵字的檔案都將返回。
再來看一個範例,比如我們通過部落格標籤來搜尋部落格文章。那麼倒排索引列表就是這樣的一個結構:
部落格文章(原始資料) | 部落格文章(原始資料) | 索引列表(倒排索引) | 索引列表(倒排索引) |
---|---|---|---|
部落格文章ID | 標籤 | 標籤 | 部落格文章ID |
1 | python | python | 1,2,3 |
2 | python | linux | 3,4 |
3 | linux,python | ||
4 | linux |
如果要搜尋含有python標籤的文章,那相對於查詢所有原始資料而言,查詢倒排索引後的資料將會快的多。只需要檢視標籤這一欄,然後獲取相關的文章ID即可。完全過濾掉無關的所有資料,提高效率!
elasticsearch的索引和Lucene的索引對比
在elasticsearch中,索引(庫)這個詞被頻繁使用,這就是術語的使用。在elasticsearch中 ,索引被分為多個分片,每份分片是一個Lucene的索引。所以一個elasticsearch索引是由多 個Lucene索引組成的。
到此這篇關於ElasticSearch簡介的文章就介紹到這了,更多相關ElasticSearch簡介內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45