根據某個字段查詢
- 精確匹配:
agent:"Mozilla/5.0"
- 如果不帶雙引號,只要包含指定值就可以搜索到
agent:Mozilla/5.0
- 如果是數值類型沒有以上區別
范圍查詢
類型 | 語法 |
---|---|
指定區間 | response:[100 TO 200] |
大於等於 | response:[201 TO *] |
小於等於 | response:[* TO 200] |
大於指定數值 | response:{10 TO 20} |
注意:TO 必須是大寫, [ ] 表示端點數值包含在范圍內,{ } 表示端點數值不包含在范圍內。
不等於
- 不等於:
NOT
例子:查詢名字不為李四的學生
NOT name:"lisi"
從指定時間到現在/或者查詢指定時間前數據
-
2015-05-20T09:20:41.943Z之后的數據:
@timestamp:{2015-05-20T09:20:41.943Z TO *}
-
2015-05-20T09:20:41.943Z之前的數據:
@timestamp:{* TO 2015-05-20T09:20:41.943Z }
-
指定時間范圍:
@timestamp:{2015-05-20T09:20:41.943Z TO 015-05-22T09:20:41.943Z}
注意:TO 必須是大寫;09:20:41事實上是17:20:41,存在8個小時差
模糊搜索
- ~ : 在一個單詞后面加上~啟用模糊搜索
first~
也能匹配到 frist
近似搜索
- 在短語后面加上~
"select where"~3
表示 select 和 where 中間隔着3個單詞以內。
正則匹配
-
包含指定值:
request:/uploads*/
-
不包含指定值:
!request:/uploads*/
邏輯查詢
-
AND(並且)
request:/uploads*/ AND response:404
-
OR(或者)
request:/uploads*/ OR response:200
-
組合查詢
(uid OR token) AND version
存在/不存在
-
存在
_exists_:http
:返回結果中需要有 http 字段 -
不存在
_missing_:http
:不能含有 http 字段
通配符
-
? 匹配單個字符
-
* 匹配0到多個字符
kiba?a, el*search
? * 不能用作第一個字符,例如 :?text *text
特殊轉義字符
+ – && || ! () {} [] ^” ~ * ? : \
以上字符當作值搜索的時候需要用\轉義