一、elasticsearch是什么
ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當前流行的企業(yè)級搜索引擎。設計用于云計算中,能夠達到實時搜索,穩(wěn)定,可靠,快速,安裝使用方便。
(百度百科)
理解這段話簡單理解就是:ES是一個搜索引擎,是基于Lucene的。它是一個提供了基于RESTful 的web接口,能夠達到實時,穩(wěn)定,可靠,快速的搜索引擎。
Elasticsearch也使用Java開發(fā)并使用Lucene作為其核心來實現所有索引和搜索的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的復雜性,從而讓全文搜索變得簡單。
ES是開源的,它的官網是:www.elastic.co,
github項目地址是:www.github.com/elastic/elasticsearch
中文論壇:elasticsearc.cn
二、elasticsearch能做什么
Elasticsearch不僅僅是Lucene和全文搜索,其他特點還包括:
- 分布式的實時文件存儲,每個字段都被索引并可被搜索
- 分布式的實時分析搜索引擎
- 可以擴展到上百臺服務器,處理PB級結構化或非結構化數據
而且,所有的這些功能被集成到一個服務里面,你的應用可以通過簡單的RESTful API、各種語言的客戶端甚至命令行與之交互。
總結一句話:ES是一個功能強大,使用簡單的分布式的全文搜索引擎。
三、elasticsearch文檔的概念
在Elasticsearch中,數據是以文檔(document)形式存在的,歸屬于一種類型(type),而這些類型存在于索引(index)。和關系型數據庫中的概念對比:
SQL | database | table | row | column |
---|---|---|---|---|
** elasticsearch** | index | type | document | field |
其實這樣的對比并不是完全的準確的,但是有助于我們理解elasticsearch的數據存儲格式。
四、個人對ES的一些理解
elasticsearch主要優(yōu)勢是:速度快,使用方便,分布式的,功能強大。
ES官方的想做的是ELK結合起來做日志分析等工作。估計這也是它最多的應用場景。
ES使用非常方便,官方文檔也比較全,社區(qū)也很活躍。估計以后的發(fā)展會越來越好,應用場景會越來越多。
關于更詳細的ES簡介可以查看網上有朋友翻譯的《Elasticsearch權威指南》
也可以看看這個朋友寫的ES基本概念:Elasticsearch學習,請先看這一篇!
《elasticsearch學習筆記》目錄
本筆記歡迎轉載,歡迎分享,轉載分享不用通知作者。不過,如果可以的話希望能注明出處,看完文章還能點個贊。