Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速地、近实时地对大数据进行存储、搜索和分析。它通常用来支撑有复杂的数据搜索需求的企业级应用。Elasticsearch 基于 Apache Lucene 构建,作为一个非常流行的开源软件的同时,也有相应的公司提供商业支持,使之非常适合企业用户使用。
Elasticsearch 是一个为云构建的分布式 RESTful 搜索引擎。特点包括:
- 分布式、高度可用的搜索引擎
- 每个索引都使用可配置数量的分片
- 每个分片可以有一个或多个副本
- 在任何副本分片上执行的读取、搜索操作
- 多租户与多类型
- 支持多个索引
- 每个索引支持多个类型
- 索引级别配置(分片数、索引存储......)
- 多种 API
- HTTP RESTful API
- 原生 Java API
- 所有 API 执行自动节点操作重新路由
- 面向文档
- 不需要事先定义模式(schema)
- 可以为每个类型定义模式以自定制索引过程
- 对数据持久化提供可靠、异步的写入
- (近)实时搜索
- 建立在 Lucene 之上
- 每个分片是一个功能齐全的 Lucene 索引
- 容易通过简单的配置/插件来发挥 Lucene 所有的的功能
- 保证操作的一致性
- 每个文档级的操作都是原子的,具备一致性、隔离的和持久性
- 遵循 Apache 协议 2 (“ALv2”)