1.ES定义
- Elasticsearch是一个基于Lucene库,且高度可扩展的全文搜索和分析引擎。
- Elasticsearch提供了一个分布式多用户能力的全文搜索引擎。
- Elasticsearch是用Java开发的,并根据Apache License的条款作为开源发布。
- 基于RESTful web接口。
2.历史
- 2004年,Shay Banon创建了Elasticsearch的前身,称为Compass。
- Shay Banon于2010年2月发布了第一版Elasticsearch,重写Compass的大部分内容以“创建可扩展的搜索解决方案”。
- Elasticsearch BV成立于2012年,旨在为Elasticsearch及相关软件提供商业服务和产品。
- 2014年6月,该公司宣布在成立该公司仅18个月后,在C轮融资中筹集了7000万美元。该轮由New Enterprise Associates(NEA)领导。
- 2015年3月,Elasticsearch公司更名为Elastic。
- 2018年6月,Elastic申请首次公开募股,估值估计为15至30亿美元。
- 2018年10月5日,Elastic 在纽约证券交易所上市。
3.功能及优点
- 横向可扩展性:只需要增加一台服务器,做一点儿配置,启动一下Elasticsearch进程就可并入集群。
- 分片机制提供更好的分布性:同一个索引可以分成多个分片(sharding),这优点类似于HDFS的块机制,分而治之的方式可以提升处理效率。
- 高可用性:提供复制机制,一个分片可以设置0个或多个副本,即使某台服务器出现故障,集群仍可正常运行,并会把故障服务器上的数据复制恢复到其它可用节点上。
- 易用性:只需一条命令即可下载文件,然后很快就能搭建一个站内搜索引擎。
4. 应用
- Wikipedia使用Elasticsearch提供带有高亮片段的全文搜索。
- Stack Overflow使用Elasticsearch通过more-like-this接口查找相关问题与答案。
- GitHub使用Elasticsearch对1300多亿行的代码进行搜索查询。
- Galileo使用Elasticsearch对海量服务日志进行检索和查询。
>> 下一篇:Elasticsearch术语
参考 维基百科 《Elasticsearch技术解析与实战》