Elasticsearch 是什么

fanly 问答 2019-08-06 15:32:23 阅读(...)

Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,并在 Apache 许可证下作为开源软件发布。

Elasticsearch

官方客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其他语言中都是可用的。根据 DB-Engines 的排名显示,Elasticsearch 是最受欢迎的企业搜索引擎,其次是 Apache Solr,也是基于 Lucene。

Elasticsearch 是与名为 Logstash 的数据收集和日志解析引擎以及名为 Kibana 的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。

Elasticsearch 可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。”Elasticsearch 是分布式的,这意味着索引可以被分成分片,每个分片可以有 0 个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。“相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。

Elasticsearch 使用 Lucene,并试图通过 JSON 和 Java API 提供其所有特性。它支持 facetting 和 percolating,如果新文档与注册查询匹配,这对于通知非常有用。

另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。Elasticsearch 支持实时 GET 请求,适合作为 NoSQL 数据存储,但缺少分布式事务。

历史

Shay Banon 在 2004 年创造了 Elasticsearch 的前身,称为 Compass。在考虑 Compass 的第三个版本时,他意识到有必要重写 Compass 的大部分内容,以“创建一个可扩展的搜索解决方案”。因此,他创建了“一个从头构建的分布式解决方案”,并使用了一个公共接口,即 HTTP 上的 JSON,它也适用于 Java 以外的编程语言。Shay Banon 在 2010 年 2 月发布了 Elasticsearch 的第一个版本。

Elasticsearch BV 成立于 2012 年,主要围绕 Elasticsearch 及相关软件提供商业服务和产品。2014 年 6 月,在成立公司 18 个月后,该公司宣布通过 C 轮融资筹集 7000 万美元。这轮融资由新企业协会(NEA)牵头。其他投资者包括 Benchmark Capital 和 Index Ventures。这一轮融资总计 1.04 亿美元。

2015 年 3 月,Elasticsearch 公司更名为 Elastic。

在 2018 年 6 月,Elastic 提交了首次公开募股申请,估值在 15 亿到 30 亿美元之间。公司于 2018 年 10 月 5 日在纽约证券交易所挂牌上市。

托管服务

一些组织将 Elasticsearch 作为托管服务提供。这些托管服务提供托管、部署、备份和其他支持。大多数托管服务还包括对 Kibana 的支持。

收藏 0个人收藏
走进科技生活方式

发表评论

登录后参与评论