Kibana搜索数据利器:KQL与Lucene
文章目录
- 一、搜索数据
- 二、KQL查询
- 1、字段搜索
- 2、逻辑运算符
- 3、通配符
- 4、存在性检查
- 5、括号
- 三、Lucene查询
- 1、字段搜索
- 2、逻辑运算符
- 3、通配符
- 4、范围搜索
- 5、存在性检查
- 6、括号
- 四、总结
一、搜索数据
默认情况下,您可以使用 Kibana 的标准查询语言,该语言具有自动完成功能和简单易用的语法。Kibana 的旧查询 语言(基于 Lucene 查询语法) 目前在查询栏中的选项菜单下仍然可用。当这个 选择传统查询语言,也可以使用完整的基于 JSON 的 Elasticsearch 查询 DSL。
提交搜索请求时,直方图、文档表和字段 列表将更新以反映搜索结果。默认情况下,匹配以反向列出 按时间顺序排列,最先显示最新文档。您可以反转 通过单击“时间”列标题来排序顺序。
二、KQL查询
Kibana Query Language(KQL)是一种用于在Kibana中进行搜索和过滤数据的查询语法
1、字段搜索
使用field:value的格式来搜索特定字段中的值。
例如,level:DEBUG,将返回level包含DEBUG的文档。

2、逻辑运算符
逻辑运算符:KQL支持逻辑运算符AND、OR和NOT来组合多个条件。
例如,level:DEBUG or level:Info,将返回level包含DEBUG或info的文档,不区分大小写。

3、通配符
通配符:使用*作为通配符来匹配任意字符。
例如,tid:*6199,将返回以"6199"结尾的tid的文档。

4、存在性检查
存在性检查:使用field:*来检查字段是否存在。
例如,@timestamp:*将返回具有`@timestamp字段的文档。

5、括号
括号:使用括号来分组条件。
例如,@timestamp:"2023-12-14T06:55:32.548Z" and (level:info or level:DEBUG)将返回指定时间的level是info 或DEBUG的文档。

三、Lucene查询
Kibana的旧查询语言基于 Lucene 查询语法。目前,此语法 在查询栏和高级设置中的选项菜单下仍然可用。
1、字段搜索
字段搜索:使用field:value的格式来搜索特定字段中的值。
例如,level:DEBUG,将返回level包含DEBUG的文档。

2、逻辑运算符
逻辑运算符:Lucene支持逻辑运算符AND、OR和NOT来组合多个条件。
例如,level:DEBUG or level:Info,将返回level包含DEBUG或info的文档,不区分大小写。

3、通配符
通配符:使用*作为通配符来匹配任意字符。
例如,tid:*0001,将返回以"0001"结尾的tid的文档。

4、范围搜索
范围搜索:使用field:[start TO end]的格式来搜索字段中的范围。
例如,log.offset:[82194291 TO 82194500]将返回log.offset在82194291到82194500之间的文档。

5、存在性检查
存在性检查:使用field:*来检查字段是否存在。
例如,@timestamp:*将返回具有`@timestamp字段的文档。
6、括号
括号:使用括号来分组条件。
例如,@timestamp:"2023-12-14T07:06:40.472Z" AND (level:info OR level:DEBUG)将返回指定时间的level是info 或DEBUG的文档。

和KQL语法有区别,条件AND、OR需要大写
四、总结
KQL(Kibana Query Language)和Lucene查询语法在一些方面有一些区别:
语法结构:KQL使用更简洁和易于理解的语法结构,更接近自然语言,使得查询更易于编写和阅读。而Lucene查询语法则更为底层和灵活,需要更多的语法知识和操作。
功能支持:KQL在Kibana中内置了一些特定的功能,如直接在编辑器窗口中生成和编辑代码、支持自动调试和代码库全局理解等。而Lucene查询语法则更通用,可以更灵活地构建复杂的查询。
可扩展性:Lucene查询语法在Elasticsearch中更为底层,可以支持更多高级的查询操作和功能。而KQL是Kibana特定的查询语言,功能相对较为有限。
学习曲线:由于KQL的语法更简洁和易于理解,学习和使用起来相对较为容易。而Lucene查询语法需要更多的语法知识和经验,学习曲线相对较陡。
总的来说,KQL更适合在Kibana中进行简单和常见的搜索和过滤操作,而Lucene查询语法则更适合在Elasticsearch中进行更复杂和高级的查询操作。
详细可以参考官方文档
相关文章:
Kibana搜索数据利器:KQL与Lucene
文章目录 一、搜索数据二、KQL查询1、字段搜索2、逻辑运算符3、通配符4、存在性检查5、括号 三、Lucene查询1、字段搜索2、逻辑运算符3、通配符4、范围搜索5、存在性检查6、括号 四、总结 一、搜索数据 默认情况下,您可以使用 Kibana 的标准查询语言,该…...
float32、int8、uint8、int32、uint32之间的区别
float32、int8、uint8、int32、uint32这些类型在数据表示范围、精度和存储大小等方面存在明显的差异。 float32:是一种单精度浮点数,占32位(也就是4个字节),可以提供约7位有效数字的精度。这种数据类型通常用于需要高…...
百度搜索展现服务重构:进步与优化
作者 | 瞭东 导读 本文将简单介绍搜索展现服务发展过程,以及当前其面临的三大挑战:研发难度高、架构能力欠缺、可复用性低,最后提出核心解决思路和具体落地方案,期望大家能有所收货和借鉴。 全文4736字,预计阅读时间12…...
icmp协议、ip数据包 基础
icmp协议、ip数据包 ICMP 协议 1 定义与用途: ICMP(Internet Control Message Protocol)定义: ICMP 是 Internet Control Message Protocol(互联网控制消息协议)的缩写。它是 TCP/IP 网络模型中的一个核…...
es6从url中获取想要的参数
第一种方法 很古老,通过 split 方法慢慢截取,可行是可行但是这个方法有一个弊端,因为 split 是分割成数组了,只能按照下标的位置获取值,所以就是参数位置一旦发生变化,那么获取到的值也就错位了 let user…...
【elementui笔记:el-table表格的输入校验】
之前做得比较多的校验是在el-form表单里做的,但有时也遇到,需要在table内输入数据,然后校验输入的数据是否符合要求的情况。因此记录一下。 思路: 1.需要借助el-form的校验,el-table外层嵌套一层el-form,使…...
每天五分钟计算机视觉:GoogLeNet的核心模型结构——Inception
本文重点 当构建卷积神经网络的时候,我们需要判断我们的过滤器的大小,这往往也作为一个超参数需要我们进行选择。过滤器的大小究竟是 11,33 还是 55,或者要不要添加池化层,这些都需要我们进行选择。而本文介绍的Inception网络的作用就是代替你来决定,把它变成参数的一部…...
卡片C语言(2021年蓝桥杯B)
分析:我们用一个数组来记录卡牌,我们每使用一张卡牌,就减一张,当卡牌数为-1的时候,说明不够用了,此时我们就打印上一个组合的数字。 #include <stdio.h> int main(){int num[10],i,m,n,j;for(i0;i&l…...
数据库动态视图和存储过程报表数据管理功能设计
需求:需要将ERP的报表数据挪到OA中,但是OA表单设计不支持存储过程动态传参,所以需要设计一个系统,可以手动配置,动态显示原本ERP的报表数据,ERP报表是存在数据库的视图和存储过程中 思路:因为E…...
css+js 选项卡动画效果
选项卡上下左右翻转动画效果 <template><div class"web-box"><div class"topTitle"><div class"topTitle1">标题标题</div></div><div class"info-wrap"><div style"width: 100%;h…...
[C错题本]转义字符/指针与首元素/运算
\a响铃 \b退格 \f换页 \r回车 \t水平制表 \v垂直制表 \单引号 \"双引号 \\反斜杠 \0dd八进制(0-7) \xdd(0-f)注意x一定不能大写 而且十六进制千万不能写\0xint main() {char s[]"ABCD", *p;for (p s 1; p < s 4; p)printf("%s…...
Layui继续学习
1、简单评论区代码: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>社区评论区</title> <link rel"stylesheet" href"https://cdn.staticfile.org/layui/2.6.8/css/…...
react+datav+echarts实现可视化数据大屏
📓最近有点闲,就学习了下react,没想到就把react学完了,觉得还不错,就打算出一把reactdatav的简易版可视化数据大屏供大家做个参考。 📓效果如下 1下载必要的框架 📓 react路由 npm install re…...
CSS新手入门笔记整理:CSS浮动布局
文档流概述 正常文档流 “文档流”指元素在页面中出现的先后顺序。正常文档流,又称为“普通文档流”或“普通流”,也就是W3C标准所说的“normal flow”。正常文档流,将一个页面从上到下分为一行一行,其中块元素独占一行…...
微服务组件Sentinel的学习(1)
Sentinel学习笔记(1) Sentinel基本概念Sentinel功能和设计理念流量控制熔断降级系统负载保护 Sentinel基本概念 资源 资源是Sentinel的关键概念。它可以是 ava应用程序中的任何内容,例如,由应用程序提供的服务,或由应…...
小程序 -网络请求post/get
1.1网络请求的概念(post和get) 1.2步骤 1.3 应用函数 js里面写,用bindtap绑在控件上,就不讲了 实例代码: //发起get数据请求get_info(){wx.request({url:https://www.escook.cn/api/get,//请求的接口地址,必须基于https协议//请求的方式met…...
Elasticsearch 8.10之前同义词最佳实践
1、同义词在搜索引擎领域用途 同义词在搜索引擎领域的用途可概括如下: 增强搜索的准确性——当用户输入一个关键词时,可能与他们实际意图相关的文档使用了一个不同的关键词或短语。同义词允许搜索引擎理解和识别这些情况,返回更准确的结果。如:“遥遥领先”和“华为Meta60…...
芯知识 | 什么是OTP语音芯片?唯创知音WTN6xxx系列:低成本智能语音解决方案
什么是OTP语音芯片? OTP,即一次性可编程(One-Time Programmable),语音芯片是一类具有独特编程特性的嵌入式语音存储解决方案。与可重复擦写(Flash型)语音芯片不同,OTP语音芯片一经烧…...
Linux内核密钥环
Linux内核密钥环(Linux Kernel Keyring)是Linux内核中的一个机制,用于管理和存储各种类型的密钥和安全相关的数据。它是Linux内核提供的一种可编程的安全子系统,用于处理密钥的生成、存储、检索和删除等操作。 Linux内核密钥环的…...
web前端之正弦波浪动功能、repeat、calc
MENU 效果图htmlstylecalcrepeat 效果图 html <div class"grid"><span class"line"></span><span class"line"></span><span class"line"></span><span class"line"><…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
