Elasticsearch:是什麼?你為什麼需要他?

風平浪靜如碼發表於2019-12-25

Elasticsearch 是什麼?

Elasticsearch 是一個分散式的、開源的搜尋分析引擎,支援各種資料型別,包括文字、數字、地理、結構化、非結構化。

Elasticsearch 是基於 Apache Lucene 的。

Elasticsearch 因其簡單的 REST API、分散式特性、告訴、可擴充套件而聞名。

Elasticsearch 是 Elastic 產品棧的核心,Elastic 產品棧是個開源工具集合,用於資料接收、儲存、分析、視覺化。

一個搜尋和分析引擎

Elasticsearch:是什麼?你為什麼需要他?

Elasticsearch 可以讓你儲存所有型別的資料。

你可能認為搜尋是關於文字的,的確,Elasticsearch 精通索引和查詢文字。

但是,那不是全部,你還可以儲存數字型別的資料、Geo 地理型別的資料。

Elasticsearch 不僅可以查詢資料,還可以做彙總、聚合等等操作。

開源

Elasticsearch 是免費、開源的。

Elasticsearch 所屬的 Elastic 公司,是一家商業盈利性質的公司,但你並不需要因為使用 Elasticsearch 而付費。

Elastic 公司使用的是增值服務模式,你付費的話可以得到更多的支援和產品特性。

一個完整的生態

Elasticsearch 是 Elastic 產品棧的核心。

其中的工具可以幫助你實現視覺化(Kibana)、接入(Beats、Logstash)和管理儲存在 Elasticsearch 中的資料。

除了官方工具,還有大量免費和商用的工具庫可以使用。

彈性

Elasticsearch:是什麼?你為什麼需要他?

搜尋技術有彈性是什麼意思?

  • Elasticsearch 可以輕鬆進行節點擴充套件。

  • 你可以非常輕鬆的使用 Elasticsearch,非常容易起步,而且,還通過多種方式幫助你成功的使用在產品環境中。

分散式

可擴充套件性是 Elasticsearch 的一個巨大優勢。

在你起步的時候,可以使用一個節點,在壯大之後,Elasticsearch 可以輕鬆的擴充套件。

新增物理節點,然後在配置檔案中列出即可。

在新節點加入之後,你的 indexes 會自動分佈到新的節點。

可以用來做什麼?

使用場景例如:

  • 文件存錯查詢

可以很好地儲存和查詢文件,用於應用程式搜尋、企業搜尋和網站搜尋。

  • 日誌儲存和索引

使用 ELK,輕鬆儲存和分析日誌。

ELK 還通常用於監控基礎資訊、應用程式效能和使用情況。

  • 地理資料儲存和分析

  • 商業智慧平臺

在各類場景中,可以抽象出2種資料型別:

  • 靜態資料

Elasticsearch 用作搜尋引擎。

  • 時間序列資料

時序資料傳送到 Elasticsearch,用於產品分析、報告、異常檢測 ……

Elasticsearch 的替代方案

Elasticsearch:是什麼?你為什麼需要他?

Elasticsearch 的競爭對手只有一個,Apache Solr,有著和 Elasticsearch 相似的特性,但 Solr 的發展勢頭遠不及 Elasticsearch。

Elasticsearch:是什麼?你為什麼需要他?

可以看到,2014年左右 Elasticsearch 的受歡迎程度大大超過了 Solr。

小結

上面的內容可以讓你對 Elasticsearch 有一個基本的認識,包括 Elasticsearch 是什麼、可以用來做什麼、市場地位。

相關文章