原文網(wǎng)址:Kibana--KQL查詢語法的使用_IT利刃出鞘的博客-CSDN博客
簡(jiǎn)介
說明
本文介紹Kinaba的KQL查詢語法的使用。
官網(wǎng)網(wǎng)址
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書籍等資料,我整理了一下,包含:真實(shí)面試題匯總、簡(jiǎn)歷模板、PDF書籍、PPT模板等。這些是我自己也在用的資料,面試題是面試官問到我的問題的整理,其他資料也是我自用的,真正實(shí)用、靠譜。資料可以從這里免費(fèi)獲?。嘿Y料地址
Kibana的兩種查詢語法
Kibana的7.x版本支持兩種查詢語法:
- KQL(Kibana Query Language)語法
- Lucene 語法
默認(rèn)是KQL,如果關(guān)閉KQL,則使用Lucene語法。
Kibana查詢界面的進(jìn)入方式如下:
KQL查詢語法
全文搜索
說明
直接輸入查詢內(nèi)容即可。
示例:查找包含hello,或者包含world,或者兩者都包含。
hello world
限定字段
語法
字段名: 匹配值
示例1:查詢FlightNum字段匹配"4H2KUBH"字符串的文檔。
FlightNum: 4H2KUBH
示例2:查詢FlightNum字段存在(無論值是什么)的文檔。?
FlightNum: *
范圍查詢
說明
可以指定日期、數(shù)字或者字符串字段的范圍。關(guān)系運(yùn)算符只能用在數(shù)值和時(shí)間類型的字段。
支持關(guān)系運(yùn)算符如下:
- <= 小于等于
- >= 大于等于
- < 小于
- > 大于
示例:年齡大于等于30的
age >= 30
邏輯操作
注意:查詢結(jié)果不區(qū)分大小寫
支持邏輯運(yùn)算符如下:
- and:與
- or:或
- not:非
示例1:and 的用法
1.查詢包含jane,且包含beijing的記錄。
jane and beijing
2.查詢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
查詢r(jià)esponse包含200,并且整條記錄不包含yes的數(shù)據(jù)記錄?
response:200 and not yes
查詢r(jià)esponse包含200,且response不包含yes的記錄
response:(200 and not yes)
示例4:多個(gè)運(yùn)算符結(jié)合
查詢name包含jane且addr包含beijing的記錄,或者job包含teacher的記錄。
name:jane and addr:beijing or job:teacher
KQL中,and的優(yōu)先級(jí)高于or。上方結(jié)果可以使用小括號(hào)來理解
(name:jane and addr:beijing) or job:teacher
示例5:值里使用運(yùn)算符
查詢r(jià)esponse包含200,或者response包含404,或者包含200和404的記錄。
response:(200 or 404)
或者
response:200 or response:400
注意:不保證順序、不區(qū)分大小寫。
嵌套查詢
原始數(shù)據(jù)
{
"level1": [
{
"level2": [
{
"prop1": "foo",
"prop2": "bar"
},
{
"prop1": "baz",
"prop2": "qux"
}
]
}
]
}
需求
查找?level1.level2.prop1 是 foo 或者是 baz的
寫法
level1.level2 { prop1: "foo" or prop1: "baz" }
?KQL查詢通用規(guī)則
如下幾項(xiàng)規(guī)則適用于所有場(chǎng)景,包括:全文檢索、限定字段、模糊字段等。
引號(hào)
直接輸入內(nèi)容則會(huì)將內(nèi)容進(jìn)行分詞,然后查詢;若不想分詞,整詞查詢,則兩邊加引號(hào)即可。
示例1:查找包含hello,或者包含world,或者兩者都包含。
hello world
示例2:查找包含hello world的。
"hello world"
模糊查詢
說明
? 匹配單個(gè)字符
?* 匹配0到多個(gè)字符
示例1:全文索引
下邊這個(gè)可匹配:kibana
kiba?a
下邊這個(gè)可匹配:elasticsearch?
el*search
示例2:限定字段?
下邊這個(gè)可匹配title含有kibana的文檔。
title:kiba?a
示例3:模糊字段?
下邊這個(gè)可匹配title含有kibana的文檔。
tit*:kibana
容錯(cuò)查詢
說明
~: 在一個(gè)單詞后面加上~啟用模糊搜索,可以搜到一些拼寫錯(cuò)誤的單詞。
示例文章來源:http://www.zghlxwxcb.cn/news/detail-418234.html
first~
能匹配到 frist文章來源地址http://www.zghlxwxcb.cn/news/detail-418234.html
到了這里,關(guān)于Kibana--KQL查詢語法的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!