当前位置: 首页 > news >正文

ES基础概念

         本文不介绍如何使用ES(使用ES见:)

1.ES生态圈

        ES:

        Logstash:数据处理服务程序,解析转换加工数据;

        Kibana:数据展示、集群管理,数据可视化、ES管理与监控、报表等;

        Beats:轻量级数据采集工具,支持多个数据源采集,占用系统资源少; 

        ES-Hadoop:连接器,通过 ES-Hadoop,可以充分利用 Hadoop 的大数据处理能力和 Elasticsearch 的快速搜索与分析能力,构建强大的数据处理和分析平台;

        其他非官方框架:Flink(开源的实时数据流处理框架)、nifi(数据集成工具)、GrafanaLabs(提供开源的监控、日志管理和数据可视化工具,帮助用户在分布式系统和云原生环境中实现更好的可观测性和性能管理)、presto。。。

2.ES的作用

  • 全文搜索:全文索引,支持多种语言分词、中文、英文、数字、特殊符号,应用在企业知识库、电商商品搜索、垂直领域搜索引擎;
  • 地图应用:地图位置应用搜索,集成 Geohash算法,支持大规模的地理位置搜索,结合自身的分布式特性,可以满足海量数据Geo检索;
  • 向量检索:相似图片、类似语音、问答系统、推荐系统,内置支持Dense Vector数据类型,与多种向量计算产品集成,支持多种向量应用场景;
  • 业务系统加速查询:替代关系型数据库,关系型数据库查询性能瓶,分库分表合并查询、海量数据查询、复杂条件组合查询;
  • 大数据领域:强大的数据处理能力,提供Hadoop对外的数据查询服务;自有大数据处理能力、聚合、转换、上卷、大规模明细查询;
  • 日志平台:统一日志平台,采集所有日志、系统日志、程序日志、业务日志,存储所有类型日志,查询所有日志,分析所有日志;
  • 基础监控:指标采集、时序数据,采集基础指标、基于时序数据存储、性能超过时序数据库;
  • 安全分析:网络安全分析预测,机器学习算法模型训练,分析预测潜在网络安全风险;

3.ES的核心概念

  • Cluster集群:Elasticsearch天然是分布式,由一个或者多个节点实例组成

  • Node节点:服务程序运行实例

  • Index索引:数据存储逻辑空间

  • Shard分片:数据存储实际逻辑空间,单分片就是完整索引数据

  • Replicate副本:分片数据备份复制,高可用高性能

  • Segment分段:分片数据实际存储空间

  • Docment文档:一条完整数据,等同Mysql一行数据

  • Term词项:单个字段数据拆分成多个独立的词

4.ES的核心算法

  • Inverted Index倒排索引:根据内容找到内容所在位置
  • Doc Value列式存储:Elasticsearch数据排序/聚合统计(导致修改数据性能差)
  • FST有限状态转换:Finite State Transducers 前缀/后缀(模糊匹配)
  • Skip List跳表:文档定位跳跃
  • BKD Tree多维空间树:简单数值、范围数据(解决倒排不好范围查询的问题)
  • RoaringBitmap压缩位图:原始数值压缩、查询结果合并
  • TF/IDF/BM25分值计算:文本搜索排序分值计算

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • freertos串口DMA队列发送卡死
  • Java的函数式接口和 Lambda 表达式
  • ICML 2024 Mamba 论文总结
  • Vue3判断变量和对象不为null和undefined
  • 为了性能,放弃tft_eSPI,选择arduino_gfx吧
  • Mysql 的 binlog 有几种格式?
  • 用Python Pygame做的一些好玩的小游戏
  • 【大数据】MapReduce JAVA API编程实践及适用场景介绍
  • 自回归模型(二):具有自回归误差的回归
  • 数据库缓存 buffer pool详解
  • 科技前沿:IDEA插件Translation v3.6 带来革命性更新,翻译和发音更智能!
  • HyperLPR3 车牌识别
  • 系统架构师-考试-基础题-错题集锦1
  • LLVM Visual Studio构建
  • 【哈希】Leetcode 219. 存在重复元素 II【简单】
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【剑指offer】让抽象问题具体化
  • Android框架之Volley
  • cookie和session
  • JavaScript 一些 DOM 的知识点
  • Laravel 实践之路: 数据库迁移与数据填充
  • Python十分钟制作属于你自己的个性logo
  • sessionStorage和localStorage
  • 编写高质量JavaScript代码之并发
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 诡异!React stopPropagation失灵
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端
  • 如何进阶一名有竞争力的程序员?
  • 如何使用 JavaScript 解析 URL
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 消息队列系列二(IOT中消息队列的应用)
  • 云大使推广中的常见热门问题
  • 你对linux中grep命令知道多少?
  • const的用法,特别是用在函数前面与后面的区别
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #Linux(Source Insight安装及工程建立)
  • (160)时序收敛--->(10)时序收敛十
  • (20050108)又读《平凡的世界》
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (6)设计一个TimeMap
  • (70min)字节暑假实习二面(已挂)
  • (C++哈希表01)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)hibernate配置管理
  • (二十四)Flask之flask-session组件
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (四)Controller接口控制器详解(三)
  • (一)Neo4j下载安装以及初次使用
  • (转)jdk与jre的区别