01-Elasticsearch概述
分类:
文章
•
2024-01-12 12:50:10
Elasticsearch简述
- ElasticSearch,简称ES,是一个开源的、高扩展、高实时的分布式全文搜索引擎。
- ElasticSearch是使用Java语言开发的,基于Lucene的一个企业级搜索引擎。
- 通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
ES用途
- 电商网站,用于检索商品
- 站内搜索(门户、招聘等)、数据分析
- 日志数据分析,logstash采集日志,ES进行复杂的数据分析,ELK技术(ElasticSearch + logstash + kibana)
- GitHub、Gitee搜索代码
- 网站论坛
ES、Solr、Lucene三者对比
Lucene简介
- Lucene是一套开源的信息检索工具包,它不是一个完整的全文搜索引擎,而是一个全文搜索引擎的架构。
- 它包含了索引结构、读写索引工具、相关性工具、排序等功能。
- Solr和ES都是基于Lucene做的一些封装。
ES简介
- Elasticsearch是一个实时分布式搜索和分析引擎。
- 它可以用于全文搜索、结构化搜索和分析、高效的检索大规模数据。
- 使用lucene作为内部引擎,使用统一的API来做全文检索,屏蔽底层细节。
Solr简介
- Solr采用java开发,并且也是基于Lucene的全文搜索服务器。
- Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展、并对索引、搜索性能进行了优化。
ES与Solr对比图
- 当实时建立索引时, Solr会产生io阻塞,查询性能较差 。
- 随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
- 搜索引擎从Solr转到Elasticsearch以后的平均查询速度有了50倍的提升。
Solr与ES比较总结
- Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。
- Solr支持更多格式的数据,而Elasticsearch仅支持JSON文件格式。
- Solr官方提供的功能更多,而Elasticsearch本身更注重于核心功能,高级功能多由第三方插件提供。
- Solr是传统搜索应用的有力解决方案,Elasticsearch更适用于新兴的实时搜索应用。