根据某个字段查询
- 精确匹配:
agent:"Mozilla/5.0"
-
如果不带双引号,只要包含指定值就可以搜索到
agent:Mozilla/5.0
-
如果是数值类型没有以上区别
数组范围查询
-
指定区间:
response:[100 TO 200]
-
大于等于指定数值的:
response:[201 TO *]
-
小于等于指定数值的:
response:[* TO 200]
注意:TO 必须是大写
从指定时间到现在/或者查询指定时间前数据
-
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个小时差
正则匹配
-
包含指定值:
request:/uploads*/
-
不包含指定值:
!request:/uploads*/
逻辑查询
-
AND(与关系数据库一样)
request:/uploads*/ AND response:404
-
OR(与关系数据库一样)
request:/uploads*/ OR response:200
-
组合查询:
(uid OR token) AND version
存在/不存在
- 存在host字段但不存在url字段:
_exists_:host AND _missing_:url
特殊转义字符
`+ – && || ! () {} [] ^” ~ * ? : \`
以上字符当作值搜索的时候需要用\转义
参考:
https://segmentfault.com/a/1190000002972420
http://blog.csdn.net/pistolove/article/details/53693963