分布式搜索引擎ElasticSearch
什么是ElasticSearch?
Elasticsearch是一个实时的分布式搜索和分析引擎。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
为什么学习它?
1、给软件打造良好的搜索体验。
2、其具有强大的是数据分析能力。可能分析的等待时间比Hadoop还要短。
3、方便使用,扩展力强。是当前流行的企业级搜索引擎。
ElasticSearch背后的小故事:
许多年前,一个刚结婚的名叫 Shay Banon 的失业开发者,跟着他的妻子去了伦敦,他的妻子在那里学习厨师。 在寻找一个赚钱的工作的时候,为了给他的妻子做一个食谱搜索引擎,他开始使用 Lucene 的一个早期版本。 直接使用 Lucene 是很难的,因此 Shay 开始做一个抽象层,Java 开发者使用它可以很简单的给他们的程序添加搜索功能。 他发布了他的第一个开源项目 Compass。 后来 Shay 获得了一份工作,主要是高性能,分布式环境下的内存数据网格。这个对于高性能,实时,分布式搜索引擎的需求尤为突出, 他决定重写 Compass,把它变为一个独立的服务并取名 Elasticsearch。 第一个公开版本在2010年2月发布,从此以后,Elasticsearch 已经成为了 Github 上最活跃的项目之一,他拥有超过300名 contributors(目前736名 contributors )。 一家公司已经开始围绕 Elasticsearch 提供商业服务,并开发新的特性,但是,Elasticsearch 将永远开源并对所有人可用。 据说,Shay 的妻子还在等着她的食谱搜索引擎
ElasticSearch的主要功能及应用场景
主要功能:
- 海量数据的分布式存储以及集群管理,达到了服务与数据的高可用以及水平扩展;
- 近实时搜索,性能卓越。对结构化、全文、地理位置等类型数据的处理;
海量数据的近实时分析(聚合功能) 应用场景:
- 网站搜索、垂直搜索、代码搜索;
- 日志管理与分析、安全指标监控、应用性能监控、Web抓取舆情分析;
ES和数据库的对比
参考文章:https://pdai.tech/md/db/nosql-es/elasticsearch-x-introduce-1.html#elasticsearch的由来