摘要
这一节,主要介绍一下在kibana界面查询数据的语法。
- 字符串查询
//例: 直接输入字字符串,就会出现当前索引下含有该字符串的记录
- 短语查询
如果是不含空格的词语,直接输入就可以,如果含有空格,就需要用双引号,如:“Hello World” 可以搜索Hello World短语,不用双引号会分开搜索。
- 字段查询
field:value //如:@version:1
- 通配符
//? —— 匹配单个字符 例: h?llo 可以匹配hello
//* —— 匹配0到多个字符 例: 2017* 匹配所有以2017开头的字符串
//特别地: ? * 不能用作第一个字符,例如: ?name *name
- 正则匹配
//es支持部分正则功能
//如:http_code:/(40[0-9])|(50[0-9])/, 可以匹配40和50开头的http状态码
- 范围查询
score:[100 TO 200]
ip:["172.24.20.110" TO "172.24.20.140"]
date:{"now-6h" TO "now"}
char:{a TO d} //搜索b到e中间的字符
count:[10 TO \*] //* 表示一端不限制范围
count:[1 TO 5}
//[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内,可以混合使用,此语句为1到5,包括1,不包括5
- 逻辑操作
AND :同时满足两个条件 //如 path:/syslog* AND _index:test
OR :满足一个条件即可 // 如 path:/syslog* OR _index:test
//AND 和 OR 可以嵌套多层, 如 (A AND B) OR ( C OR D)
\+ :搜索结果中加上(含有)此项
\- :搜索结果中去掉(不含)此项
- 转义特殊字符
//以下常见字符当作值搜索的时候需要用 \ 转义
\+ - && || ! () {} [] ^" ~ * ? : \