Elasticsearch 是什么?
Elasticsearch 是一個分布式的、開源的搜索分析引擎,支持各種數據類型,包括文本、數字、地理、結構化、非結構化。
Elasticsearch 是基於 Apache Lucene 的。
Elasticsearch 因其簡單的 REST API、分布式特性、告訴、可擴展而聞名。
Elasticsearch 是 Elastic 產品棧的核心,Elastic 產品棧是個開源工具集合,用於數據接收、存儲、分析、可視化。
一個搜索和分析引擎
Elasticsearch 可以讓你存儲所有類型的數據。
你可能認為搜索是關於文本的,的確,Elasticsearch 精通索引和查詢文本。
但是,那不是全部,你還可以存儲數字類型的數據、Geo 地理類型的數據。
Elasticsearch 不僅可以查詢數據,還可以做匯總、聚合等等操作。
開源
Elasticsearch 是免費、開源的。
Elasticsearch 所屬的 Elastic 公司,是一家商業盈利性質的公司,但你並不需要因為使用 Elasticsearch 而付費。
Elastic 公司使用的是增值服務模式,你付費的話可以得到更多的支持和產品特性。
一個完整的生態
Elasticsearch 是 Elastic 產品棧的核心。
其中的工具可以幫助你實現可視化(Kibana)、接入(Beats、Logstash)和管理存儲在 Elasticsearch 中的數據。
除了官方工具,還有大量免費和商用的工具庫可以使用。
彈性
搜索技術有彈性是什么意思?
一是 Elasticsearch 可以輕松進行節點擴展。
二是你可以非常輕松的使用 Elasticsearch,非常容易起步,而且,還通過多種方式幫助你成功的使用在產品環境中。
分布式
可擴展性是 Elasticsearch 的一個巨大優勢。
在你起步的時候,可以使用一個節點,在壯大之后,Elasticsearch 可以輕松的擴展。
添加物理節點,然后在配置文件中列出即可。
在新節點加入之后,你的 indexes 會自動分布到新的節點。
可以用來做什么?
使用場景例如:
- 文檔存錯查詢
可以很好地存儲和查詢文檔,用於應用程序搜索、企業搜索和網站搜索。
- 日志存儲和索引
使用 ELK,輕松存儲和分析日志。
ELK 還通常用於監控基礎信息、應用程序性能和使用情況。
-
地理數據存儲和分析
-
商業智能平台
在各類場景中,可以抽象出2種數據類型:
- 靜態數據
Elasticsearch 用作搜索引擎。
- 時間序列數據
時序數據發送到 Elasticsearch,用於產品分析、報告、異常檢測 ……
Elasticsearch 的替代方案
Elasticsearch 的競爭對手只有一個,Apache Solr,有着和 Elasticsearch 相似的特性,但 Solr 的發展勢頭遠不及 Elasticsearch。
可以看到,2014年左右 Elasticsearch 的受歡迎程度大大超過了 Solr。
小結
上面的內容可以讓你對 Elasticsearch 有一個基本的認識,包括 Elasticsearch 是什么、可以用來做什么、市場地位。
翻譯整理自:
https://medium.com/tech-explained/elasticsearch-explained-411e300413c7