使用 ELK查詢日誌已有一段時間,直到今天我才發現 Kibana Discover 實際上是默認通過 Kibana Query Language(KQL)查詢語法來進行數據查詢的。
常用查詢語法
全文搜索
查找包含101021,或者包含1970325445000048,或者兩者都包含。
長句子通常會被自動分詞。KQL使用一種稱爲“Tokenization”的處理方式,將輸入的長句子分解爲單個的詞語或標記(tokens),以便進行匹配和搜索。
精確匹配:
field_name: value
上面這個表達式,會查詢出field_name字段中包含value的文檔對象,注意是包含,包含的是value這一個詞,比如下面幾種情況都會被查詢出來
模糊匹配
field_name: value*
field_name: *value*
範圍查詢
time:[start_time TO end_time]
邏輯運算
field_name1: value1 AND/OR/NOT field_name2: value2