Elasticsearch概述
elasticsearch,简称为es,es是一个开源的扩展的分布式全文检索引擎,他可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据.es也使用Java并发使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单.
据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应用
历史
多年前,一个叫做shay banon的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着去了.在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的Lucene
直接 基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜索功能.他发布了他的第一个开源项目,叫做"compass" 后来Shay找到一份工作,这个工作处在高性能和内存数据网络的分布式环境中,因此高性能的,实时的,分布式的搜索引擎也是理所当然需要的.然后他决定重写Compass库,使其成为一个独立的服务叫做Elasticsearch.第一个公开版本出现在2010年2月,在那之后Elasticsearch已经成为Github上最受欢迎的项目之一,代码贡献者超过300人.一家主营Elasticsearch的公司就此成立,他们一边提供商业支持,一边开发新功能,不过Elasticsearch将永远开源且对所有人可用 Shay的妻子依然等待着他的食谱搜索.......
谁在使用
- 维基百科(百度百科,全文高亮,排序搜素推荐,权重,百度!)
- The Guardian
- Stack Overflow(国外的程序异常处理网站)IT 问题,程序的报错,提交上去,有人会跟你讨论和回答
- Github
- 电商网站 淘宝京东
- 日志数据分析,logstash采集日志,ES进行复杂的数据分析,ELK技术,elasticsearch+logstach+kibana
- 商品价格监控网站,用户设定