Elasticsearch - 尚硅谷(1. 概述)学习笔记

本文对比了Elasticsearch和Solr这两个基于Lucene的开源搜索引擎。Elasticsearch以其分布式特性、易于使用和实时搜索优势受到青睐,而Solr在稳定性、社区支持和特定场景下速度更快。根据不同的需求和用例,选择适合的搜索引擎至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下一篇:(2. Elasticsearch 安装)学习笔记

1. Elasticsearch 是什么

  • Elastic 技术栈(也称为 ELK Stack)包括:包括 Elasticsearch(用于存储、搜索)、Kibana(用于数据展示)、Beats(用于数据采集) 和 Logstash(用于数据传输)。

  • ELK 能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。

  • Elaticsearch,简称为 ES,ES 是一个 开源的高扩展的分布式全文搜索引擎 ,是整个 Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。

2. Lucene、Elasticsearch And Solr

1. Lucene

  • LuceneApache 软件基金会 Jakarta 项目组的一个子项目,提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。
  • 在 Java 开发环境里 Lucene 是一个成熟的免费开源工具。就其本身而言,Lucene 是当前以及最近几年最受欢迎的免费 Java 信息检索程序库
  • 但 Lucene 只是一个提供全文搜索功能类库的核心工具包,而真正使用它还需要一个完善的服务框架搭建起来进行应用。

2. Elasticsearch And Solr

  • 目前市面上流行的搜索引擎软件,主流的就两款:Elasticsearch 和 Solr,这两款都是基于 Lucene 搭建的,可以独立部署启动的搜索引擎服务软件。由于内核相同,所以两者除了服务器安装、部署、管理、集群以外,对于数据的操作修改、添加、保存、查询等等都十分类似。
  • 在使用过程中,一般都会将 Elasticsearch 和 Solr 这两个软件对比,然后进行选型。这两个搜索引擎都是流行的、先进的的开源搜索引擎。它们都是围绕核心底层搜索库 - Lucene 构建的 - 但它们又是不同的。像所有东西一样,每个都有其优点和缺点:
    在这里插入图片描述

3. Elasticsearch 和 Solr 优缺点

  • Google 搜索趋势结果表明,与 Solr 相比,Elasticsearch 具有很大的吸引力,但这并不意味着 Apache Solr 已经死亡, Solr 仍然是最受欢迎的搜索引擎之一,拥有强大的社区和开源支持。

  • Elasticsearch的优缺点:

    优点

    • Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
    • Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
    • 处理多租户不需要特殊配置,而Solr则需要更多的高级设置。
    • Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
    • 各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

    缺点

    • 提交者来自单个公司。
    • 还不够自动(不适合当前新的Index Warmup API)
  • Solr的优缺点

    优点

    • Solr有一个更大、更成熟的用户、开发和贡献者社区。
    • 支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。
    • Solr比较成熟、稳定。
    • 不考虑建索引的同时进行搜索,速度更快。

    缺点

    • 建立索引时,搜索效率下降,实时索引搜索效率不高

4. Elasticsearch 与 Solr 运行速度比较

  • 当单纯的对已有数据进行搜索时,Solr更快
    在这里插入图片描述

  • 当实时建立索引时, Solr会产生io阻塞,查询性能较差 。
    在这里插入图片描述

  • 实时建立索引 Elasticsearch具有明显的优势

    随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
    在这里插入图片描述

  • 实际生产环境测试

    下图为将搜索引擎从Solr转到Elasticsearch以后的平均查询速度有了50倍的提升。

    在这里插入图片描述

综上所述,Solr的架构不适合实时搜索的应用。

5. Elasticsearch 与 Solr 热度比较

  • 在百度指数中搜索 Elasticsearch 与 Solr 的热度对比
    在这里插入图片描述

  • 搜狗指数的热度对比
    在这里插入图片描述

  • Github 热度对比
    在这里插入图片描述

通过这些热度的数据对比,不难看出,Elasticsearch 的热度、关注度是要高于 Solr 的。

6. 小总结

  • 那么,到底是 Solr 还是 Elasticsearch?
    • 很难找到明确的答案。无论选择 Solr 还是 Elasticsearch,首先需要了解正确的用例和未来需求。总结他们的每个属性。
    • 由于易于使用,Elasticsearch 在新开发者中更受欢迎。一个下载和一个命令就可以启动一切。
    • 如果除了搜索文本之外还需要它来处理分析查询,Elasticsearch 是更好的选择
    • 如果需要分布式索引,则需要选择 Elasticsearch。对于需要良好可伸缩性和以及性能分布式环境,Elasticsearch 是更好的选择。
    • Elasticsearch 在开源日志管理用例中占据主导地位,许多组织在 Elasticsearch 中索引它们的日志以使其可搜索。
    • 如果你喜欢监控和指标,那么请使用 Elasticsearch,因为相对于 Solr,Elasticsearch 暴露了更多的关键指标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_404

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值