Elasticsearch搜索流程及原理详解

Elasticsearch搜索流程及原理详解

  • 1. Elasticsearch概述
    • 1.1 简介
    • 1.2 核心特性
    • 1.3 应用场景
  • 2. Elasticsearch搜索流程
    • 2.1 搜索请求的发起
    • 2.2 查询的执行
    • 2.3 结果的聚合与返回
  • 3. Elasticsearch原理详解
    • 3.1 倒排索引
    • 3.2 分布式架构
    • 3.3 写入流程
    • 3.4 读取流程
  • 4. 技术细节与操作流程
    • 4.1 索引创建与配置
    • 4.2 数据写入
    • 4.3 搜索查询
    • 4.4 聚合查询
  • 5. 案例分析
    • 5.1 日志分析案例
      • 5.1.1 数据导入
      • 5.1.2 聚合查询
    • 5.2 监控系统案例
      • 5.2.1 数据模型
      • 5.2.2 搜索与报警
  • 6. 流程图与脑图
    • 6.1 搜索流程图
    • 6.2 架构脑图
  • 7. 总结
  • 2. 架构原理
    • 2.1 分布式架构
    • 2.2 节点与集群
    • 2.3 分片与副本
  • 3. 索引原理
    • 3.1 倒排索引机制
    • 3.2 文档索引过程
  • 4. 搜索机制
    • 4.1 查询执行流程
      • 4.1.1 客户端请求
      • 4.1.2 请求路由
      • 4.1.3 分片查询
      • 4.1.4 结果聚合
      • 4.1.5 结果返回
      • 4.1.6 技术细节与命令示例
    • 4.2 相关性评分
      • 4.2.1 评分算法
      • 4.2.2 影响因素
      • 4.2.3 技术细节与命令示例
  • 5. 数据写入与更新
    • 5.1 数据写入流程
      • 5.1.1 写入请求的接收
      • 5.1.2 路由到主分片
      • 5.1.3 写入主分片
      • 5.1.4 数据同步到副本分片
      • 5.1.5 写入确认与响应
      • 5.1.6 技术细节与命令示例
    • 5.2 数据更新与删除
      • 5.2.1 数据更新流程
      • 5.2.2 数据删除流程
      • 5.2.3 技术细节与命令示例
  • 6. 性能优化
    • 6.1 硬件优化
      • 6.1.1 存储设备选择
      • 6.1.2 CPU和内存配置
      • 6.1.3 网络优化
    • 6.2 索引设置优化
      • 6.2.1 分片和副本配置
      • 6.2.2 索引生命周期管理(ILM)
      • 6.2.3 映射和设置优化
    • 6.3 查询语句优化
      • 6.3.1 使用Filter Context
      • 6.3.2 避免深度分页
      • 6.3.3 预索引聚合字段
      • 6.3.4 避免使用复杂的脚本
  • 7. 配置与管理
    • 7.1 配置文件详解
      • 7.1.1 集群名称和节点设置
      • 7.1.2 网络设置
      • 7.1.3 路径设置
      • 7.1.4 内存锁定
      • 7.1.5 线程池和垃圾回收
    • 7.2 集群管理命令
      • 7.2.1 查看集群健康状态
      • 7.2.2 查看节点信息
      • 7.2.3 查看索引信息
    • 7.3 监控与日志
      • 7.3.1 监控集群
      • 7.3.2 查看日志

1. Elasticsearch概述

1.1 简介

Elasticsearch,一个基于Apache Lucene的开源分布式搜索和分析引擎,以其强大的全文搜索能力、分布式架构和近实时数据处理而闻名。它能够处理PB级别的数据,并提供毫秒级的查询响应。Elasticsearch通常与Logstash和Kibana一起使用,合称为ELK Stack,用于日志分析、监控、搜索等场景。

1.2 核心特性

Elasticsearch的核心特性包括:

  • 分布式架构:允许水平扩展,无单点故障。
  • 全文搜索:提供快速的文本分析和搜索能力。
  • 近实时搜索:数据更新后,几乎可以立即搜索到新数据。
  • 高可用性:通过副本分片实现高可用性。
  • 多租户:支持在单个集群上运行多个独立的索引。
  • RESTful API:提供易于使用的RESTful接口,简化开发。

1.3 应用场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/61218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32完全学习——系统时钟设置

一、时钟框图的解读 首先我们知道STM32在上电初始化之后使用的是内部的HSI未经过分频直接通过SW供给给系统时钟,由于内部HSI存在较大的误差,因此我们在系统完成上电初始化,之后需要将STM32的时钟切换到外部HSE作为系统时钟,那么我…

分布式系统稳定性建设-性能优化篇

分布式系统稳定性建设-性能优化篇 系统稳定性建设是系统工程的核心内容之一。以下是一些重要的方面: 架构设计: 采用模块化、松耦合的架构设计,以提高系统的可扩展性和可维护性。合理划分系统功能模块,降低单个模块的复杂度。定义清晰的接口和数据交换标准,确保各模块之间协调…

网络学习第四篇

引言: 我们在第三篇的时候出现了错误,我们要就行排错,那么我们要知道一下怎么配置静态路由实现ping通,这样子我们才知道下一跳到底是什么,为什么这样子做。 实验目的 理解和掌握静态路由的基本概念和配置方法。 实…

[控制理论]—位置式PID与增量式PID

位置式PID与增量式PID 1.位置式PID 按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即: t ≈ k T ( k 0 , 1 , 2... ) …

【c++丨STL】list的使用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 list简介 一、list的默认成员函数 构造函数(constructor) 析构函数 赋值重载 二、list的迭代器接口 迭代器的功能分类 三、list的容量…

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失 Addressable Play Mode Script加载模式 选择 Use Existiing Build 1.Unity 切换到 PC 平台,执行 Addressable Build 运行,加载 bundle 内的预制体 显示正常 2.Unit…

单片机学习笔记 6. 数码管动态显示

更多单片机学习笔记:单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示 目录 0、实现的功能 1、Keil工程 1-1 数码管动态显示 1-2 数组的定义与引用…

车企如何实现安全图纸外发管理

车企面临着日益增长的数据交换需求,尤其是设计图纸等敏感数据的外发管理。如何确保这些数据在传输过程中的安全性和效率,是车企急需解决的问题。我们将从几个关键性的因素上来分析一下怎么实现安全图纸外发管理。 统一管理与授权 采用专业的文件交换系统…

第7章 硬件测试-7.1 硬件调试

第7章 硬件测试 7.1 硬件调试7.1.1 电路检查7.1.2 电源调试7.1.3 时钟调试7.1.4 主芯片及外围小系统调试7.1.5 存储器件和串口外设调试7.1.6 其他功能模块调试 测试是每项成功产品的必经环节。硬件测试是评估产品质量的重要方法,产品质量是公司的信誉和品牌象征&…

Qt5/QPainter/画家

目录 1.绘制文字 1.1案例 1.2代码 2.画线 2.1案例 2.2代码 3.绘制矩形 3.1代码 4.绘制椭圆和圆 4.1椭圆 4.2圆 5.圆弧 5.1案例: 5.2代码 6.扇形 6.1案例 6.2代码: 7.更改绘画的颜色和粗细 7.1案例 ​编辑 7.2代码 1.绘制文字 1.1案例 通过三种不同的绘…

一篇保姆式centos/unbantu安装docker

前言: 本章节分别演示centos虚拟机,unbantu虚拟机进行安装docker。 上一篇介绍:docker一键部署springboot项目 一:centos 1.卸载旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest do…

fetch API和XHR

文章目录 一、基本写法1. XMLHttpRequest(XHR)2. Fetch API 二、兼容性1. XMLHttpRequest(XHR)2. Fetch API 三、Promise支持1. XMLHttpRequest(XHR)2. Fetch API 四、请求响应1. XMLHttpRequest&#xff0…

Photoshop(PS)——人像磨皮

1.新建一个文件,背景为白色,将图片素材放入文件中 2.利用CtrlJ 复制两个图层出来,选择第一个拷贝图层,选择滤镜---杂色---蒙尘与划痕 3.调整一下数值,大概能够模糊痘印痘坑,点击确定。 4.然后选择拷贝2图层…

Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!

作者:来自 Elastic Panagiotis Bailis Elasticsearch 检索器经过了重大改进,现在可供所有人使用。了解其架构和用例。 在这篇博文中,我们将再次深入探讨检索器(retrievers)。我们已经在之前的博文中讨论过它们&#xf…

《设计模式》创建型模式总结

目录 创建型模式概述 Factory Method: 唯一的类创建型模式 Abstract Factory Builder模式 Prototype模式 Singleton模式 最近在参与一个量化交易系统的项目,里面涉及到用java来重构部分vnpy的开源框架,因为是框架的搭建,所以会涉及到像…

c++类对象练习

#include <iostream> #include <cstring>using namespace std;class mystring {char* buf; public:mystring(); //构造函数mystring(const char* str); //构造函数void show(); //输出函数void setmystr(const mystring str); //设置函数const char* getmystr() co…

CH03_反射

第3章&#xff1a;反射 本章目标 掌握反射的原理 熟悉反射的基本运用 本章内容 反射是什么 C# 编译运行过程 首先我们在VS点击编译的时候&#xff0c;就会将C#源代码编译成程序集 程序集以可执行文件 (.exe) 或动态链接库文件 (.dll) 的形式实现 程序集中包含有Microsoft …

多品牌摄像机视频平台EasyCVR视频融合平台+应急布控球:打造城市安全监控新体系

在当今快速发展的智慧城市和数字化转型浪潮中&#xff0c;视频监控技术已成为提升公共安全、优化城市管理、增强应急响应能力的重要工具。EasyCVR视频监控平台以其强大的多协议接入能力和多样化的视频流格式分发功能&#xff0c;为用户提供了一个全面、灵活、高效的视频监控解决…

数据结构 (3)线性表的概念及其抽象数据类型定义

一、线性表的概念 定义&#xff1a;线性表是指具有相同数据类型的n个数据元素的有限序列。可以表示为L(a1,a2,…,ai,…,an)&#xff0c;其中a1是第一个元素&#xff0c;称为表头&#xff1b;an是最后一个元素&#xff0c;称为表尾。 特点&#xff1a; 有序性&#xff1a;线性表…

Java基础——继承和多态

目录 一、继承 继承的定义&#xff1a; 继承的基本用法&#xff1a; 如何调用父类的方法&#xff1f; 二、多态 多态性的好处 多态中的强制类型转换&#xff1a; 包的命名规则——域名倒叙 一、继承 继承的定义&#xff1a; 继承是面向对象编程中的一种机制&#xff0c…