700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Kibana--KQL查询语法的使用

Kibana--KQL查询语法的使用

时间:2023-04-16 20:43:17

相关推荐

Kibana--KQL查询语法的使用

原文网址:Kibana--KQL查询语法的使用_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍Kinaba的KQL查询语法的使用。

官网网址

KQL语法:https://www.elastic.co/guide/en/kibana/7.7/kuery-query.html

Lucene语法:https://www.elastic.co/guide/en/kibana/7.7/lucene-query.html

粉丝福利:有很多粉丝私信问我有没有Java的面试及PDF书籍等资料,我整理了一下,包含:真实面试题汇总、简历模板、PDF书籍、PPT模板等。这些是我自己也在用的资料,面试题是面试官问到我的问题的整理,其他资料也是我自用的,真正实用、靠谱。资料可以从这里免费获取:资料地址

Kibana的两种查询语法

Kibana的7.x版本支持两种查询语法:

KQL(Kibana Query Language)语法Lucene 语法

默认是KQL,如果关闭KQL,则使用Lucene语法。

Kibana查询界面的进入方式如下:

KQL查询语法

全文搜索

说明

直接输入查询内容即可。

示例:查找包含hello,或者包含world,或者两者都包含。

hello world

限定字段

语法

字段名: 匹配值

示例1:查询FlightNum字段匹配"4H2KUBH"字符串的文档。

FlightNum: 4H2KUBH

示例2:查询FlightNum字段存在(无论值是什么)的文档。

FlightNum: *

范围查询

说明

可以指定日期、数字或者字符串字段的范围。关系运算符只能用在数值和时间类型的字段。

支持关系运算符如下:

<= 小于等于>= 大于等于< 小于> 大于

示例:年龄大于等于30的

age >= 30

逻辑操作

支持逻辑运算符如下:

and:与or:或not:非

示例1:and 的用法

查询name字段包含jane,且addr字段包含beijing的记录。

name:jane and addr:beijing

注意:查询结果不区分大小写

示例2:or 的用法

查询name字段包含jane,或者addr字段包含beijing的记录,或者两者都匹配。

name:jane or addr:beijing

示例3:not 的用法

查询出response字段中不包含200的记录

not response:200

查询response包含200,并且整条记录不包含yes的数据记录

response:200 and not yes

查询response包含200,且response不包含yes的记录

response:(200 and not yes)

示例4:多个运算符结合

查询name包含jane且addr包含beijing的记录,或者job包含teacher的记录。

name:jane and addr:beijing or job:teacher

KQL中,and的优先级高于or。上方结果可以使用小括号来理解

(name:jane and addr:beijing) or job:teacher

示例5:值里使用运算符

查询response包含200,或者response包含404,或者包含200和404的记录。

response:(200 or 404)

或者

response:200 or response:400

注意:不保证顺序、不区分大小写。

嵌套查询

原始数据

{"level1": [{"level2": [{"prop1": "foo","prop2": "bar"},{"prop1": "baz","prop2": "qux"}]}]}

需求

查找level1.level2.prop1 是 foo 或者是 baz的

写法

level1.level2 { prop1: "foo" or prop1: "baz" }

KQL查询通用规则

如下几项规则适用于所有场景,包括:全文检索、限定字段、模糊字段等。

引号

直接输入内容则会将内容进行分词,然后查询;若不想分词,整词查询,则两边加引号即可。

示例1:查找包含hello,或者包含world,或者两者都包含。

hello world

示例2:查找包含hello world的。

"hello world"

模糊查询

说明

? 匹配单个字符

* 匹配0到多个字符

示例1:全文索引

下边这个可匹配:kibana

kiba?a

下边这个可匹配:elasticsearch

el*search

示例2:限定字段

下边这个可匹配title含有kibana的文档。

title:kiba?a

示例3:模糊字段

下边这个可匹配title含有kibana的文档。

tit*:kibana

容错查询

说明

~: 在一个单词后面加上~启用模糊搜索,可以搜到一些拼写错误的单词。

示例

first~

能匹配到 frist

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。