elk 搜索 语法_ELK学习笔记7| Lucence 的搜索语法
在kibana進行搜索時,可以使用Lucence 通用的語法,或者使用 JSON 格式 QueryDSL (DSL:Digital Subscriber Line)來進行各項搜索請求。Apache Lucene 提供了方便的查詢方式,本文就介紹以下 Lucence 查詢解析器支持的語法,為后面的 ElasticSearch 的搜索語法提供基礎。
0x01 查詢字段
使用冒號?:?表示包含這個單詞
例如:status:active?,表示 status 包含 active 單詞
使用括號,可以包含多個詞
例如:title:(quick OR brown)?,title:(quick brown)
查詢短語使用雙引號引起來
例如:author:“John Smith”
0x02 查詢特定短語
是用雙引號將要查詢的一個或多個單詞引起來
比如:”Mozilla/5.0”,”like Gecko”
0x03 正則搜索
使用???表示單個字符,*?表示 0 或者多個單詞,.?可以用來表示一個任何的單詞?? *不能用作第一個字符,如:?text *text
例如:qu?ck bro* , kiba?a, el*search
例如:對于字符串”abcde”,ab… 匹配.c.e 匹配
例如:book.*:(quick brown),表示book.title, book.content或book.date 包含 quick 或 brown (需要用反斜線轉義*):
一個或者多個加號”+“可以用來重復一次或多次前面的最短模式,對于字符串”aaabbb”:
a + b + 匹配
aa + bb + 匹配
a +.+ 匹配
aa + bbb + 匹配
0x04 區間查詢
數值/時間/IP/字符串等類型的字段可以對某一個額范圍進行查詢,使用?TO?命令表示查詢的起始值到終止值,中括號表示包含。
date:[2012-01-01 TO 2012-12-31]count:[1 TO 5]length:[100 TO 200]sip:["172.24.20.110" TO "172.24.20.140"]host:["10.28.0.0" TO "10.28.0.255"]
0x05 排除在范圍內的數值
使用大括號,表示排除,[ ]表示斷電數值包含在范圍內,{ }表示端點數值不包含在范圍內,可以混合使用
tag:{alpha TO omega},排除 alpha 和 omega:count:[10 TO *],表示10以上
date:{* TO 2012-01-01},表示日期在 2012年前
date:{"now-6h" TO "now"}tag:{b TO e},搜索 b 到 e 中間的字符
count:[10 TO *],`*` 表示一端不限制范圍
count:[1 TO 5},表示 1 到 5,包含 1 不包含 5
范圍可以使用下面的公式表示
age:>10age:>=10age:<10age:<=10
0x06 關鍵字/保留字
如果用到保留字作為查詢的字符之一,就要使用反斜線對這些字符進行轉義。 保留字符包括:+ - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /
例如:查詢?(1+1)=2,,就要寫成?\(1\+1\)\=2
0x07 布爾操作符
布爾操作符 (AND,OR,NOT)允許通過邏輯運算符組合多個子查詢。 操作符?AND/OR/NOT?必須是大寫。
直接在查詢結果的字段處點擊放大鏡?,+?表示查詢該值或?-?排除該值。
+:搜索結果中必須包含此項
-:不能含有此項
+apache -jakarta 結果中必須存在apache,不能有jakarta
title:(+return +"pink panther")
(baidu OR qq OR google) AND host:(com OR cn)
總結
以上是生活随笔為你收集整理的elk 搜索 语法_ELK学习笔记7| Lucence 的搜索语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 良心推荐!安卓手机这几个功能不用太可惜,
- 下一篇: #地形剖面图_高中地理——每日讲1题(地