elasticsearch 查询检索
一、查询方式列举
1、多维度查询 关键词:bool must match
{"query": {"bool": {"must": [{"match": {"server_name": "www.test.com"}},{"range": { //时间查询"createTime": {"gte": "2025-04-14T00:00:00+08:00","lte": "2025-04-15T00:00:00+08:00"}}}]}},"_source": {"includes": [ //查询字段"title","price"],"exclude": [ //排除字段"organId"]}
}
2、模糊查询 关键词:wildcard
匹配出状态码status 以 5 开头的日志
{"query": {"wildcard": {"status": "5*"}}
}
3、指定某个值 同时匹配多个字段 关键词:multi_match
query 要查询的值
fields 要匹配的字段【数组】
匹配出 字段code和status 为400的所有日志
{"query": {"multi_match": {"query": "400","fields": [ "code", "status" ]}}
}
4、一个字段查询多个值
关键词:terms
{ “字段”:[ 要匹配的多个值 ] }
{"query": {"terms": {"status": ["400","402","406"]}}
}
5、字段排序
//单字段
{"sort": {"createTime": {"order": "asc"}}
}
//多字段
{"sort": [{"createTime": {"order": "asc"}},{"updateTime": {"order": "desc"}}]
}
6、高量查询
GET /megacorp/employee/_search
{"query" : {"match_phrase" : {"about" : "rock climbing"}},"highlight": {"fields" : {"about" : {}}}
}
7、自定义高亮
{"query": {"term": {"description": {"value": "iphone"}}},"highlight": {"post_tags": ["</span>"], "pre_tags": ["<span style='color:red'>"],"fields": {"*":{}}}
}
8、模糊查询(fuzzy)
fuzzy 查询是 term 查询的模糊等价。它允许用户搜索词条与实际词条的拼写出现偏差,但是偏差的编辑距离不得超过2:
GET /heima/_search
{"query": {"fuzzy": {"title": {"value":"appla","fuzziness":1}}}
}
9、指定间隔分组
interval:间隔,
min_doc_count:过滤为0的分组
{"size":0,"aggs":{"price":{"histogram": {"field": "price","interval": 5000,"min_doc_count": 1}}}
}
10、elasticsearch 深分页
产生原因:from、size 两字段过大,es默认是10000
解决方式:
(1)深度分页之scroll,滚动查询、每次请求两条。可以定制 scroll = 5m意味着该窗口过期时间为5分钟。
GET /student/_search?scroll=5m{"query": {"match_all": {}},"size": 2}
后边查询的时候需要带上 _scroll_id 参数
GET /_search/scroll{"scroll":"5m","scroll_id":"DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAC0YFmllU"}
(2)search_after 使用索引全局唯一标识字段 、官方推荐使用 _uid 作为全局唯一值,但是只要能表示其唯一性就可以。
GET /student/_search{"query":{"match_all": {}},"size":2,"sort":[{"uid": "desc"} ]}
下一次分页,需要将上述分页结果集的最后一条数据的值带上。
GET /student/student/_search{"query":{"match_all": {}},"size":2,"search_after":[1005],"sort":[{"uid": "desc"} ]}
深分页对比
| 分页方式 | 性能 | 优点 | 缺点 | 场景 |
|---|---|---|---|---|
| from+size | 低 | 灵活性好,实现简单 | 深度分页问题 | 数据量比较小,能容忍深度分页问题 |
| scroll | 中 | 解决了深度分页问题 | 无法反应数据的实时性(快照版本),维护成本高,需要维护一个 | 海量数据的导出需要查询海量结果集的数据 |
| search_after | 高 | 性能最好、不存在深度分页问题、能够反映数据的实时变更 | 实现复杂,需要有一个全局唯一的字段、连续分页的实现比较复杂,因为每一次查询都需要上次查询的结果 | 海量数据的分页 |
注: ElasticSearch Java API之高级查询(分页查询,高亮查询,正则表达式查询,聚合查询等)
参考:
https://blog.csdn.net/qq_37774171/article/details/122931766
https://blog.csdn.net/qq_42402854/article/details/126615064
相关文章:
elasticsearch 查询检索
一、查询方式列举 1、多维度查询 关键词:bool must match {"query": {"bool": {"must": [{"match": {"server_name": "www.test.com"}},{"range": { //时间查询"createTime": …...
WT2000T专业录音芯片:破解普通录音设备信息留存、合规安全与远程协作三大难题
在快节奏的现代商业环境中,会议是企业决策、创意碰撞和战略部署的核心场景。然而,传统会议记录方式常面临效率低、信息遗漏、回溯困难等痛点。如何确保会议内容被精准记录并高效利用?会议室专用录音芯片应运而生,以智能化、高保真…...
【Python 学习笔记】 pip指令使用
系列文章目录 pip指令使用 文章目录 系列文章目录前言安装配置使用pip 管理Python包修改pip下载源 前言 提示:这里可以添加本文要记录的大概内容: 当前文章记录的是我在学习过程的一些笔记和思考,可能存在有误解的地方,仅供大家…...
与Ubuntu相关命令
windows将文件传输到Ubuntu 传输文件夹或文件 scp -r 本地文件夹或文件 ubuntu用户名IP地址:要传输到的文件夹路径 例如: scp -r .\04.py gao192.168.248.129:/home/gao 如果传输文件也可以去掉-r 安装软件 sudo apt-get update 更新软件包列表 sudo apt insta…...
C# 文件读取
文件读取是指使用 C# 程序从计算机文件系统中获取文件内容的过程。将存储在磁盘上的文件内容加载到内存中,供程序处理。主要类型有:文本文件读取(如 .txt, .csv, .json, .xml);二进制文件读取(如 .jpg, .pn…...
leetcode125.验证回文串
class Solution {public boolean isPalindrome(String s) {s s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();for(int i0,js.length()-1;i<j;i,j--){if(s.charAt(i)!s.charAt(j))return false;}return true;} }...
【Android面试八股文】Android系统架构【一】
Android系统架构图 1.1 安卓系统启动 1.设备加电后执行第一段代码:Bootloader 系统引导分三种模式:fastboot,recovery,normal: fastboot模式:用于工厂模式的刷机。在关机状态下,按返回开机 键进…...
NLP高频面试题(五十二)——BERT 变体详解
在现代自然语言处理领域,BERT 系列模型不断演进,衍生出多种变体,它们通过改进预训练任务、模型结构和训练策略,在不同应用场景下取得了更优表现。本文首先概览主要 BERT 变体(如 ALBERT、RoBERTa、ELECTRA、SpanBERT、Transformer-XL 等),随后针对以下几个关键问题逐一展…...
【数据可视化-21】水质安全数据可视化:探索化学物质与水质安全的关联
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
CSS 选择器介绍
CSS 选择器介绍 1. 基本概念 CSS(层叠样式表)是一种用于描述 HTML 或 XML 文档外观的语言。通过 CSS,可以控制网页中元素的布局、颜色、字体等视觉效果。而 CSS 选择器则是用来指定哪些 HTML 元素应该应用这些样式的工具。 2. 基本选择器 …...
【prometheus+Grafana篇】从零开始:Linux 7.6 上二进制安装 Prometheus、Grafana 和 Node Exporter
💫《博主主页》:奈斯DB-CSDN博客 🔥《擅长领域》:擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(MongoDB)有了解 💖如果觉得文章对你有所帮…...
STM32(M4)入门:GPIO与位带操作(价值 3w + 的嵌入式开发指南)
一:GPIO 1.1 了解时钟树(必懂的硬件基础) 在 STM32 开发中,时钟系统是一切外设工作的 “心脏”。理解时钟树的工作原理,是正确配置 GPIO、UART 等外设的核心前提。 1.1.1 为什么必须开启外设时钟? 1. 计…...
树莓派超全系列教程文档--(42)树莓派config.txt旧版配置HDMI和杂项选项
树莓派config.txt旧版配置HDMI和杂项选项 Raspberry Pi 4 HDMI遗留的杂项选项avoid_warningslogging_level 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 Raspberry Pi 4 HDMI IMPORTANT: 使用VC4 KMS图形驱动程序时,完整的显示管道…...
Linux419 三次握手四次挥手抓包 wireshark
还是Notfound 没连接 可能我在/home 准备配置静态IP vim ctrlr 撤销 u撤销 配置成功 准备关闭防火墙 准备配置 YUM源 df -h 未看到sr0文件 准备排查 准备挂载 还是没连接 计划重启 有了 不重启了 挂载准备 修改配置文件准备 准备清理缓存 ok 重新修改配…...
CSS-跟随图片变化的背景色
CSS-跟随图片变化的背景色 获取图片的主要颜色并用于背景渐变需要安装依赖 colorthief获取图片的主要颜色. 并丢给背景注意 getPalette并不是个异步方法 import styles from ./styles.less; import React, { useState } from react; import Colortheif from colorthief;cons…...
解决Docker 配置 daemon.json文件后无法生效
vim /etc/docker/daemon.json 在daemon中配置一下dns {"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","ht…...
虚幻基础:ue碰撞
文章目录 碰撞:碰撞体 运动后 产生碰撞的行为——碰撞响应由引擎负责,并向各自发送事件忽略重叠阻挡 碰撞响应关系有忽略必是忽略有重叠必是重叠有阻挡不一定阻挡(双方都为阻挡) 碰撞启用:纯查询:开启移动检…...
2025.04.23【探索工具】| STEMNET:高效数据排序与可视化的新利器
文章目录 1. STEMNET工具简介2. STEMNET的安装方法3. STEMNET常用命令 1. STEMNET工具简介 在生物信息学领域,分析和处理大规模数据集是研究者们面临的日常挑战。STEMNET工具应运而生,旨在提供一个强大的平台,用于探索和分析单细胞RNA测序&a…...
GitLab Runner配置并行执行多个任务
检查并修改方法: 打开 Runner 的配置文件(通常位于 /etc/gitlab-runner/config.toml 或 ~/.gitlab-runner/config.toml)。 确保 concurrent 值大于 1,例如: concurrent 4 # 允许最多 4 个任务同时运行重启 Runner…...
深入理解前端安全:CSRF与XSS攻击详解
引言 在Web开发的世界里,安全性就像是房子的门锁。你可能觉得它不显眼,但一旦没了它,麻烦可就大了!本文将深入探讨两大前端安全威胁:CSRF(跨站请求伪造)和XSS(跨站脚本攻击…...
Docker 中运行 JAR 文件
文章目录 步骤 1:准备文件结构步骤 2:编写 Dockerfile步骤 3:构建 Docker 镜像步骤 4:运行容器常见问题解决Q1:容器启动后立即退出Q2:时区不一致Q3:依赖外部服务(如MySQL)…...
数据治理体系的“三驾马车”:质量、安全与价值挖掘
1. 执行摘要 数据治理已从合规驱动的后台职能,演变为驱动业务成果的战略核心。本文将深入探讨现代数据治理体系的三大核心驱动力——数据质量、数据安全与价值挖掘——它们共同构成了企业在数字时代取得成功的基石。数据质量是信任的基石,确保决策所依据…...
leetcode 二分查找应用
34. Find First and Last Position of Element in Sorted Array 代码: class Solution { public:vector<int> searchRange(vector<int>& nums, int target) {int low lowwer_bound(nums,target);int high upper_bound(nums,target);if(low high…...
Ngrok 内网穿透实现Django+Vue部署
目录 Ngrok 配置 注册/登录 Ngrok账号 官网ngrok | API Gateway, Kubernetes Networking Secure Tunnels 直接cmd运行 使用随机生成网址:ngrok http 端口号 使用固定域名生成网址:ngrok http --domain你的固定域名 端口号 Django 配置 1.Youre a…...
利用OLED打印调试信息: 控制PC13指示灯点灯的实验
Do口暗的时候才是高电平,因为光敏电阻传感器的高电平是依靠LM393电压比较器上引脚进入高阻态再加上上拉电阻上拉产生的高电平DO口什么时候会输出高阻态?电压比较器的正极输入电压大于负极输入电压,而正极输入电压是光敏电阻分得的电压,光敏电阻的阻值越大,已分得的电压就越大,…...
240422 leetcode exercises
240422 leetcode exercises jarringslee 文章目录 240422 leetcode exercises[237. 删除链表中的节点](https://leetcode.cn/problems/delete-node-in-a-linked-list/)🔁节点覆盖法 [392. 判断子序列](https://leetcode.cn/problems/is-subsequence/)🔁…...
mybatis mapper.xml中使用枚举
重点:application.propertis配置类 #TypeEnumHandler 这个类的包名,不是全路径 mybatis.type-handlers-packagecom.fan.test.handler两个枚举类: public enum StatusEnum {DELETED(0),ACTIVE(1);private final int code;StatusEnum(int cod…...
【初级】前端开发工程师面试100题(二)
本题库共计包含100题,考察html,css,js,以及react,vue,webpack等基础知识掌握情况。 TypeScript篇 TypeScript和JavaScript有什么区别? TS是JS的超集,添加了静态类型系统,编译时检查类型错误,适合大型项目。interface和type有什么区别? interface主要用于描述对象形…...
Appium安装 -- app笔记
调试环境:JDK(java) SDK(android) Node.js 雷神模拟器(或 真机) Appium(Appium Server【内外件(dos内件、界面化工具)】、Appium Inspector) p…...
2025.04.23华为机考第一题-100分
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 01. 星空探索者 问题描述 LYA是一位天文学爱好者,她拍摄了一张星空照片并将其数字化为二维亮度图。在这张图像中,每个像素点的值代表该位置的亮度。现在,LYA想要寻找特定亮度的星…...
