Skip to content
标签
note
字数
617 字
阅读时间
3 分钟

介绍

Elasticsearch 是一个免费且开放的分布式搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据

在 Apache Lucene 的基础上开发而成,于 2010 年推出

搜索引擎 + 数据库

搜索引擎

Elasticsearch 在搜索引擎数据库领域排名绝对第一,内核基于 Lucene 构建,支持全文搜索是职责所在,提供了丰富友好的 API

传统意义上用 Elasticsearch 来做全文检索的项目占比越来越少,多数时候是用来做精确查询加速,查询条件很多,可以任意组合,查询速度很快,替代其它很多数据库复杂条件查询的场景需求;

甚至有的数据库产品直接使用 Elasticsearch 做二级索引,如 HBase、Redis 等。Elasticsearch 由于自身的一些特性,更像一个多模数据库

数据库

Elasticsearch 使用 Json 格式来承载数据模型,已经成为事实上的文档型数据库,虽然底层存储不是 Json 格式,同类型产品有大名鼎鼎的 MongoDB,不过二者在产品定位上有差别,
Elasticsearch 更加擅长的基于查询搜索的分析型数据库,倾向 OLAP;MongoDB 定位于事务型应用层面 OLTP

Elasticsearch 不是关系型数据库,内部数据更新采用乐观锁,无严格的 ACID 事务特性,任何企图将它用在关系型数据库场景的应用都会有很多问题

应用场景

全文检索

应用查询

基于倒排索引核心算法,查询性能强于 B-Tree 类型所有数据产品,尤其是关系型数据库方面。当数据量超过千万或者上亿时,数据检索的效率非常明显

大数据领域

日志检索

著名的 ELK 三件套,讲的就是 Elasticsearch,Logstash,Kibana,专门针对日志采集、存储、查询设计的产品组合

监控领域

参考

Elasticsearch - 维基百科,自由的百科全书

ES既是搜索引擎又是数据库?真的有那么全能吗?_数据库_dbaplus社群_InfoQ精选文章

Elasticsearch 是什么? | Elastic

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写