1.Elasticsearch是什么?
The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为 ES, ES 是一个开源的高扩展的分布式全文搜索引擎,是整个 Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。
2. Elasticsearch的特点
1. 支持分布式集群
可以作为一个大型分布式集群(数百台服务器)技术,处理PB级数据,服务大公司;也可以运行在单机上,服务小公司
2. 支持将全文检索、数据分析以及分布式
Elasticsearch不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES;lucene(全文检索),商用的数据分析软件(也是有的),分布式数据库(mycat)
3. 开箱即用的,非常简单
对用户而言,是开箱即用的,非常简单,作为中小型的应用,直接3分钟部署一下ES,就可以作为生产环境的系统来使用了,数据量不大,操作不是太复杂
4. 不支持事务,还有各种联机事务型的操作
数据库的功能面对很多领域是不够用的(事务,还有各种联机事务型的操作);
5. 特殊的功能
比如全文检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理;Elasticsearch作为传统数据库的一个补充,提供了数据库所不不能提供的很多功能
3. Elasticsearch的适用场景
1. 维基百科,类似百度百科,全文检索,高亮,搜索推荐
2. The Guardian(国外新闻网站),用户行为日志(点击,浏览,收藏,评论) 社交网络数据
3. Stack Overflow(国外的程序异常讨论论坛)
4. GitHub(开源代码管理)
5. 电商网站,检索商品
6. 日志数据分析,logstash采集日志,ES进行复杂的数据分析(ELK技术,elasticsearch logstash kibana)
7. 商品价格监控网站
8. BI系统,商业智能,Business Intelligence。
9. 国内:站内搜索(电商,招聘,门户,等等),IT系统搜索(OA,CRM,ERP,等等)