Elasticsearch 簡介

Elasticsearch是基于Apache Lucene的搜索服務(wù)器。它由Shay Banon開發(fā)并于2010年出版。現(xiàn)在由Elasticsearch BV維護(hù)。它的最新版本是7.0.0。

Elasticsearch是一個實(shí)時的分布式開放源代碼全文本搜索和分析引擎。可從RESTful Web服務(wù)界面訪問它,并使用無模式的JSON(JavaScript對象表示法)文檔存儲數(shù)據(jù)。它基于Java編程語言構(gòu)建,因此Elasticsearch可以在不同平臺上運(yùn)行。它使用戶能夠以很高的速度瀏覽大量的數(shù)據(jù)。

特性

Elasticsearch的常見特性如下-

  • Elasticsearch最多可擴(kuò)展至PB級的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。

  • Elasticsearch可以代替MongoDB和RavenDB等文檔存儲。

  • Elasticsearch使用非規(guī)范化來提高搜索性能。

  • Elasticsearch是流行的企業(yè)搜索引擎之一,目前已被Wikipedia,The Guardian,StackOverflow,GitHub等許多大型組織使用。

  • Elasticsearch是一個開放源代碼,可在Apache許可版本2.0下使用。

關(guān)鍵概念

Elasticsearch的關(guān)鍵概念如下-

節(jié)點(diǎn)

它指的是Elasticsearch的單個運(yùn)行實(shí)例。單個物理和虛擬服務(wù)器可容納多個節(jié)點(diǎn),這取決于它們的物理資源(如RAM、存儲和處理能力)的能力。

群集

它是一個或多個節(jié)點(diǎn)的集合。群集為所有數(shù)據(jù)提供了跨所有節(jié)點(diǎn)的集體索引和搜索功能。

索引

它是不同類型的文檔及其屬性的集合。索引還使用分片的概念來提高性能。例如,一組文檔包含社交網(wǎng)絡(luò)應(yīng)用程序的數(shù)據(jù)。

文檔

它是以JSON格式定義的特定方式的字段集合。每個文檔都屬于一種類型,并且位于索引內(nèi)。每個文檔都與一個稱為UID的唯一標(biāo)識符相關(guān)聯(lián)。

碎片

索引在水平方向上細(xì)分為碎片。這意味著每個分片都包含文檔的所有屬性,但所包含的JSON對象的數(shù)量要少于索引。水平分隔使分片成為一個獨(dú)立的節(jié)點(diǎn),可以將其存儲在任何節(jié)點(diǎn)中。主分片是索引的原始水平部分,然后將這些主分片復(fù)制到副本分片中。

副本

Elasticsearch允許用戶創(chuàng)建索引和碎片的副本。復(fù)制不僅有助于在發(fā)生故障時提高數(shù)據(jù)的可用性,而且還通過在這些副本中執(zhí)行并行搜索操作來提高搜索性能。

優(yōu)勢

  • Elasticsearch是在Java上開發(fā)的,這使得它在幾乎所有平臺上都兼容。

  • Elasticsearch是實(shí)時的,換句話說,一秒鐘后添加的文檔就可以在這個引擎中搜索了

  • Elasticsearch是分布式的,因此可以輕松地在任何大型組織中進(jìn)行擴(kuò)展和集成。

  • 使用 gateway 的概念創(chuàng)建完整的備份非常簡單,這個概念在 Elasticsearch 很常見。

  • 與Apache Solr相比,在Elasticsearch中處理多租戶非常容易。

  • Elasticsearch使用JSON對象作為響應(yīng),這使得可以使用大量不同的編程語言來調(diào)用Elasticsearch服務(wù)器。

  • 除了不支持文本渲染的文檔類型外,Elasticsearch支持幾乎所有文檔類型。

缺點(diǎn)

  • 在處理請求和響應(yīng)數(shù)據(jù)方面,Elasticsearch不提供多語言支持(僅在JSON中可用),與Apache Solr不同,后者可以CSV,XML和JSON格式。

  • 有時,Elasticsearch會出現(xiàn)腦裂情況的問題。

Elasticsearch和RDBMS之間的比較

在Elasticsearch中,索引類似于RDBMS(關(guān)系數(shù)據(jù)庫管理系統(tǒng))中的表。每個表都是行的集合,就像每個索引都是Elasticsearch中的文檔的集合一樣。

下表對這些術(shù)語進(jìn)行了直接比較-

Elasticsearch關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)
群集Database
碎片碎片
索引
字段
文檔
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清