ElasticSearch 简介
Jihongchang(讨论 | 贡献)2022年12月2日 (五) 08:00的版本
https://www.bilibili.com/video/BV1nF411F75k?p=6
ElasticSearch(简称ES)是一个分布式、RESTful 风格的搜索和数据分析引擎,使用 Java 开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,稳定,可靠,快速,安装使用方便。
客户端支持Java、.NET(C#)、Python、Ruby等多种语言。
搜索引擎排名
https://db-engines.com/en/ranking/search+engine
起源——Lucene
- 基于Java语言开发的搜索引擎类库
- 创建于1999年,2005年成为Apache顶级开源项目
- Lucene具有高性能、易扩展的优点
- Lucene的局限性
- 只能基于Java语言开发
- 类库的接口学习曲线陡峭
- 原生并不支持水平扩展
Elasticsearch 的诞生
Elasticsearch是构建在Apache Lucene之上的开源分布式搜索引擎。
- 2004年 Shay Banon 基于Lucene开发了Compass
- 2010年 Shay Banon 重写了Compass,取名Elasticsearch
- 支持分布式,可水平扩展
- 降低全文检索的学习曲线,可以被任何编程语言调用
Elasticsearch 与 Lucene 核心库相比,优势在于:
- 完美封装了 Lucene 核心库,设计了友好的 Restful-API,开发者无需过多关注底层机制,直接开箱即用。
- 分片和副本机制,直接解决了集群下性能与高可用问题。