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

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

文章目录

  • 1. Elasticsearch 是什么
  • 2. Lucene、Elasticsearch And Solr
    • 1. Lucene
    • 2. Elasticsearch And Solr
    • 3. Elasticsearch 和 Solr 优缺点
    • 4. Elasticsearch 与 Solr 运行速度比较
    • 5. Elasticsearch 与 Solr 热度比较
    • 6. 小总结

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 构建的 - 但它们又是不同的。像所有东西一样,每个都有其优点和缺点:
    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第1张图片

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更快
    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第2张图片

  • 当实时建立索引时, Solr会产生io阻塞,查询性能较差 。
    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第3张图片

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

    随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第4张图片

  • 实际生产环境测试

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

    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第5张图片

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

5. Elasticsearch 与 Solr 热度比较

  • 在百度指数中搜索 Elasticsearch 与 Solr 的热度对比
    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第6张图片

  • 搜狗指数的热度对比
    Elasticsearch - 尚硅谷(1. 概述)学习笔记_第7张图片

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

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

6. 小总结

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

你可能感兴趣的:(Elasticsearch,elasticsearch)