文章目录

  • 什么是elasticsearch
    • ELK技术栈
      • elasticsearch和lucene
      • 为什么不是其他搜索技术?
    • 总结

什么是elasticsearch


elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容

例如:

  • 在CSDN上搜索代码

  • 在电商网站搜索商品

  • 在百度搜索答案

ELK技术栈


elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域:

而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。

elasticsearch和lucene

elasticsearch底层是基于lucene来实现的。

Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。

elasticsearch的发展历史:

  • 2004年Shay Banon基于Lucene开发了Compass
  • 2010年Shay Banon 重写了Compass,取名为Elasticsearch。

为什么不是其他搜索技术?


目前比较知名的搜索引擎技术排名:

虽然在早期,Apache Solr是最主要的搜索引擎技术,但随着发展elasticsearch已经渐渐超越了Solr,独占鳌头:

总结


什么是elasticsearch?

  • 一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能

什么是elastic stack(ELK)?

  • 是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch

什么是Lucene?

  • 是Apache的开源搜索引擎类库,提供了搜索引擎的核心API

为什么选择 Elasticsearch 分布式搜索引擎?

  • 选择 Elasticsearch 分布式搜索引擎有以下几个重要的原因:
    1. 强大的搜索和查询功能:Elasticsearch 是一个基于 Lucene 的搜索引擎,提供了强大而灵活的全文搜索和查询功能。它支持复杂的查询语法、多字段搜索、近实时搜索以及聚合分析等高级搜索特性,使得在大数据量下进行快速和精确的搜索变得轻松。
    2. 分布式架构:Elasticsearch 被设计为分布式的搜索引擎,可以水平扩展来处理大规模数据集和高并发的查询请求。通过将数据分散存储在多个节点上,并利用分布式索引和分片机制,Elasticsearch 可以提供高可用性和弹性扩展性,保证系统的稳定性和性能。
    3. 多种数据类型支持:Elasticsearch 不仅可以存储和搜索结构化数据,还支持非结构化和半结构化数据。它对 JSON 格式的文档具有天然的支持,使得存储和检索各种类型的数据变得简单和灵活。
    4. 实时性和可扩展性:Elasticsearch 提供了近实时的搜索和分析能力,能够在数据写入后几乎立即被索引和查询。它还支持动态添加或移除节点,无需停机即可扩容和缩容集群,保证系统的高可用性和可扩展性。
    5. 强大的生态系统:Elasticsearch 是开源软件,拥有庞大的社区支持和活跃的开发人员社群。它提供了丰富的插件和工具,如 Logstash、Kibana 和 Beats 等,构建了完整的 ELK(Elasticsearch、Logstash、Kibana)堆栈,用于数据采集、存储、搜索和可视化等方面。
  • 综上所述,Elasticsearch 提供了高效、可扩展和灵活的分布式搜索引擎解决方案,适用于各种场景,包括日志分析、全文搜索、实时监控、推荐系统等。它的强大功能和生态系统使得开发人员能够快速构建复杂的数据搜索和分析应用。