Elasticsearch
一个分布式的、可扩展的、高可用性的实时搜索平台。 来自维基百科,自由的百科全书
一个分布式的、可扩展的、高可用性的实时搜索平台。 来自维基百科,自由的百科全书
Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并作为看源软件发布。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。[5]根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。[6]
Shay Banon在2004年创造了Elasticsearch的前身,称为Compass。[7]在考虑Compass的第三个版本时,他意识到有必要重写Compass的大部分内容,以“创建一个可扩展的搜索解决方案”。[7]因此,他创建了“一个从头构建的分布式解决方案”,并使用了一个公共接口,即HTTP上的JSON,它也适用于Java以外的编程语言。[7]Shay Banon在2010年2月发布了Elasticsearch的第一个版本。[8]
Elasticsearch BV成立于2012年,主要围绕Elasticsearch及相关软件提供商业服务和产品。[9]2014年6月,在成立公司18个月后,该公司宣布通过C轮融资筹集7000万美元。这轮融资由新企业协会(NEA)牵头。其他投资者包括Benchmark Capital和Index Ventures。这一轮融资总计1.04亿美元。[10]
2015年3月,Elasticsearch公司更名为Elastic。[11]
Elastic Cloud是从2015年被Elastic收购的Found发展而来的,Elastic Cloud是由Elasticsearch驱动的SaaS产品系列,包括Elasticsearch服务,以及Elastic App搜索服务和Elastic网站搜索服务,这些服务都是由Elastic收购Swiftype发展而来的。2017年底,Elastic与谷歌建立了合作关系,在GCP中提供Elastic Cloud,而阿里巴巴则在阿里云中提供Elasticsearch和Kibana。2019年5月,Elastic宣布与腾讯云建立全球合作伙伴关系。
在2018年6月,Elastic提交了首次公开募股申请,估值在15亿到30亿美元之间。[12]公司于2018年10月5日在纽约证券交易所挂牌上市。[13]
2019年年底,Elasticsearch出現大量數據洩露事件,有27亿个电子邮件地址,10亿个电子邮件帐户密码以及近80万份出生证明遭到洩露[14]。
Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。
Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。[5]”Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。“[5]相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。[15]
Elasticsearch使用Lucene,并试图通过JSON和Java API提供其所有特性。它支持facetting和percolating[16],如果新文档与注册查询匹配,这对于通知非常有用。
另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。[17]Elasticsearch支持实时GET请求,适合作为NoSQL数据存储[18],但缺少分布式事务。[19]
一些组织将Elasticsearch作为托管服务提供。[20]这些托管服务提供托管、部署、备份和其他支持。[21]大多数托管服务还包括对Kibana的支持。