在kibana中查询elasticsearch数据的方法(lucene和kql语法)
kibana中查询elasticsearch数据的方法
1. Lucene查询语法
Kibana查询语言基于Lucene查询语法。
- 为了执行一个文本搜索,可以简单的输入一个文本字符串。例如,如果你想搜索web服务器的日志,你可以输入关键字"safari",这样你就可以搜索到所有有关"safari"的字段
- 为了搜索一个特定字段的特定值,可以用字段的名称作为前缀。例如,你输入"status:200",将会找到所有status字段的值是200的文档
- 为了搜索一个范围值,你可以用括号范围语法,[START_VALUE TO END_VALUE]。例如,为了找到状态码是4xx的文档,你可以输入status:[400 TO 499]
- 为了指定更改复杂的查询条件,你可以用布尔操作符 AND , OR , 和 NOT。例如,为了找到状态码是4xx并且extension字段是php或者html的文档,你可以输入status:[400 TO 499] AND (extension:php OR extension:html)
双引号括起来表示一个整体,需要完全匹配,不进行分词。
2. Kibana查询语法增强
基本原理保持不变,我们只是简单地改进了一些东西,使查询语言更易于使用。
- response:200 将匹配response字段的值是200的文档
- 用引号引起来的一段字符串叫短语搜索。例如,message:"Quick brown fox" 将在message字段中搜索"quick brown fox"这个短语。如果没有引号,将会匹配到包含这些词的所有文档,而不管它们的顺序如何。
- 查询解析器将不再基于空格进行分割。多个搜索项必须由明确的布尔运算符分隔。注意,布尔运算符不区分大小写。
- 在Lucene中,response:200 extension:php 等价于 response:200 and extension:php。这将匹配response字段值匹配200并且extenion字段值匹配php的文档。
- 如果我们把中间换成or,那么response:200 or extension:php将匹配response字段匹配200 或者 extension字段匹配php的文档。
- 默认情况下,and 比 or 具有更高优先级。
- 括号可以改变这种优先级
- not response:200 将匹配response不是200的文档
- 范围检索和Lucene有一点点不同,代替 byte:>1000,我们用byte > 1000
- >, >=, <, <= 都是有效的操作符
- response:* 将匹配所有存在response字段的文档;
- 通配符查询也是可以的。machine.os:win* 将匹配machine.os字段以win开头的文档;
- 通配符也允许我们一次搜索多个字段。假设我们有machine.os和machine.os.keyword两个字段,我们想要搜索这两个字段都有"windows 10",那么我们可以这样写"machine.os*:windows 10";
3. Kibana查询语法增强举例
datetime:"2020-08-26"
查询语句表示,查询datetime中包含“2020-08-26”字符串的记录;
message: "请联系管理员" and datetime: "2021-09-29" and node:"node3"
Kibana Query Language | Kibana Guide [7.4] | Elastic
response:200
will match documents where the response field matches the value 200
message:"Quick brown fox"
will search for the phrase "quick brown fox" in the message field
response:200 extension:php
would become response:200 or extension:php
in KQL
response:200 and extension:php
will match documents where response matches 200 and extension matches php.
response:200 and extension:php or extension:css
will match documents where response is 200 and extension is php OR documents where extension is css and response is anything.
response:200 and (extension:php or extension:css)
will match documents where response is 200 and extension is either php or css.
Instead of bytes:>1000
, we omit the colon: bytes > 1000
.
>, >=, <, <=
are all valid range operators.
Exist queries are simple and do not require a special operator. response:*
will find all docs where the response field exists.
Wildcard queries are available. machine.os:win*
would match docs where the machine.os field starts with "win", which would match values like "windows 7" and "windows 10".
在kibana中查询elasticsearch数据的方法(lucene和kql语法)相关推荐
- 详述 Elasticsearch 通过范围条件查询索引数据的方法
文章目录 情景 查询方法 通过命令实现范围查询 通过 API 实现范围查询 情景 在使用 Elasticsearch 的时候,我们可能会遇到需要以范围为条件查询索引数据的需求.有两种方法可以实现我们的 ...
- mysql 获取下一条记录数,如何在MySQL中查询当前数据上一条和下一条的记录
如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...
- MM2022 | 在特征空间中的多模态数据增强方法
MM2022 | 在特征空间中的多模态数据增强方法 [写在前面] 每小时,社交媒体和用户生成的内容平台上都会发布大量的视觉内容.为了通过自然语言查询查找相关视频,文本视频检索方法在过去几年中受到了越来 ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- Linux内核中读写文件数据的方法
Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数, ...
- 【转】 Linux内核中读写文件数据的方法--不错
原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法 有时候需要在Linuxkernel ...
- python返回json数据_python和flask中返回JSON数据的方法
在python中可以使用json将数据格式化为JSON格式: 1.将字典转换成JSON数据格式: s=['张三','年龄','姓名'] t={} t['data']=s return json.dum ...
- html页面加载json数据,在html中显示JSON数据的方法
背景: 有时候我们需要将json数据直接显示在页面上(比如在做一个接口测试的项目,需要将接口返回的结果直接展示),但是如果直接显示字符串,不方便查看.需要格式化一下. 解决方案: 其实JSON.str ...
- 介绍一种在MATLAB中获取股市数据的方法
介绍一种在MATLAB中获取股市数据的方法: >>clear >>c=yahoo 系统会返回 c = url: 'http://finance.yahoo.com' ...
最新文章
- 全国大学生智能汽车竞赛-讯飞赛道开始报名啦!
- 【转】web 前端研发工程师编程能力飞升之路
- 免费试用人数太多,微软Windows 365云电脑服务器炸了,官方紧急暂停
- python3 连接redis密码中特殊字符问题
- Python赋值、打包和解包,90%人不清楚的知识点!
- 给自己走过的路留下一些痕迹
- python如何下载库_python中如何下载库
- C和指针---第八章:数组
- Redis之key的淘汰策略
- Linux 远程连接工具 【vnc viewer】 图形界面
- Linux下创建Django项目并访问
- 调出远程桌面的任务管理器
- 破解滑块验证码(打码平台)
- 简单一码付:将支付宝和微信的收款二维码合并为一个二维码
- mysql 数据脱敏
- 惠普ELITE X2 1012 G1平板拆机记录
- 构建Lua解释器Part3:String设计与实现
- ios 操作通讯录联系人
- Web实时语音/视频聊天/文件传输
- 数控机床需要c语言程序吗,数控机床的编程有几种方法?
热门文章
- bzoj2448 挖油
- 3DMax学习笔记【还在更新】
- 人工智能和图像处理方面的各种会议的评级
- 重组的脱氧核糖核酸酶 I,生物工艺级相关研究
- 关于各种USB启动模式(MBR)的原理剖析
- android点击展开内容,Android编程实现Listview点击展开和隐藏的方法
- 计算机竞赛进省队可以保送吗,厉害!物理竞赛8名学子入选省队!信息学竞赛5人获清北保送资格,他们来自……...
- 三菱PLC第一篇:GXWORK3与三菱FX5UPLC同通过交换机连接
- matlab读取心电注释.qrs文件格式,MIT-BIH ECG 心电数据的下载和读取图解 - 晨宇思远 - CSDN博客...
- 基于Andriod的连锁药店管理系统-计算机毕业设计源码+LW文档