• Elasticsearch学习笔记


    Elasticsearch 是一款分布式,RESTful 风格的搜索数据分析引擎,可以从海量的数据中高效的找到相关信息。如 wiki 用 ES 进行全文检索及其高亮,Github 用其检索代码,电商平台用其做一些商品推荐等,具有丰富的使用场景。

    在本篇文章中,主要涉及以下内容:

    • ES 的核心功能及其应用场景的介绍

    • ES 逻辑架构(文档,索引)的介绍

    • ES 物理架构(集群,节点,shard 等)的介绍

    • ES 环境安装

    • ES 倒排索引

    基础介绍

    ES 介绍

    Elasticsearch 核心功能:

    • 海量数据分布式存储及其集群管理

      • 服务高可用 - 允许有节点停止服务,但集群可正常服务
      • 数据高可用 - 允许节点丢失,但不会丢失数据
      • 可拓展性 - 很好的面对请求量的提升,和数据的不断增长。
    • 大数据实时搜索引擎

      • 结构化数据
      • 全文数据
      • 地理位置
    • 近实时分析

      • 聚合

    Elasticsearch 核心特性:

    • 高性能,非 T +1

      • 相较于传统关系型数据库,在搜索,算分,模糊查询上有非常好的体验。
      • 相较于大数据分析 Hadoop,具有更高效率的统计和分析能力。
    • 容易扩展

      • 本身分布式架构
      • 丰富的社区生态

    ES 起源历史

    Lucene 是由 Java 开发的一款搜索引擎类库,具有高性能,易拓展的优点,但由于其接口只能为 Java ,并且不支持水平拓展的局限性。

    2004 年 Shay Banon 基于 Lucene 开发了 Compass,2010 年 重写了 Compass,取名 Elasticsearch,使其支持分布式,可水平拓展,并提供 restful 接口,让任何编程语言进行使用。

    ES 生态圈

    ES 常常搭配一些产品提供一些解决方案,如常提到的 ELK 就是,ES,Logstash 和 Kibana 的统称,下图很好的描述了 ES 家族及其生态。

    在这里插入图片描述

    其中 Beat 相较于 Logstash 更加轻量和便携。

    ES 常用案例架构

    ES 搜索案例,ES 虽然可以单独可以存储引擎,但其无法满足一些事务性的需要,所以常和关系型数据库搭配,采用如下架构:

    在这里插入图片描述

    ES 日志和指标分析案例,一般就是指数据收集,入库,可视化的过程,常采用如下的架构:

    在这里插入图片描述

    ES抽象类比关系型数据库

    在这里插入图片描述

  • 相关阅读:
    Java中获取年份月份的方法
    响应式织梦模板净水设备类网站
    SQL查询语句的使用
    利用PHP开发具有注册、登陆、文件上传、发布动态功能的网站
    CISSP学习笔记:业务连续性计划
    我要写整个中文互联网界最牛逼的JVM系列教程 | 「类加载子系统」章节:ClassLoader的常用方法及其获取方法
    Python每日一练(牛客新题库)——第23天:内置函数
    线程与进程的区别与联系
    TCP和UDP的区别
    瑞吉外卖项目剩余功能补充
  • 原文地址:https://blog.csdn.net/xianghanscce/article/details/126697550