检索语法

最近更新时间:2020-08-10 17:09:25

检索规则

在进行日志搜索前,需先选择日志池、时间范围,以及在输入框中输入检索语句。产品支持全文检索、键值检索和模糊关键字检索。

全文检索

日志服务会根据分词符将每条日志数据拆分为多个词组,以支持您根据特定的关键字来检索日志。全文检索支持普通查询、短语查询和模糊查询。

  • 普通查询:直接输入关键字,或者指定字段和关键字,将返回符合关键字的数据结果。例如 method:GET and status=200 表示查询 method 是 GET 并且 status 等于 200 的日志。
  • 短语查询:如果需要查询的关键字中包含检索语法运算符或空格,可以将关键字用双引号("")包裹,表示将双引号中的内容作为多个关键字查询。例如 msg:"not avaliable" 表示 msg 查询包含关键字 not 和 avaliable 的日志,等价于查询 msg:service and msg:"not" and msg:avaliable。 模糊查询:支持关键字中间或末尾加上模糊查询字符( * 和 ?)。例如 http_user:andr? 表示在所有日志中查找 http_user字段包含以 andr 开头的词的日志。

键值检索

用户可以指定字段名称和字段内容进行查询。对于double和long类型的字段,可以指定数值范围进行查询。例如查询语句为count>5000 and Status:200,表示查询count值大于5000且Status字段值不是200的日志。

运算符语法

语法 语义
key:value 键值搜索格式,默认开启所有字段的索引,其中 value 支持?、*模糊搜索
A and B “与”逻辑,返回 A 与 B 的交集结果,如果多个单词间没有语法关键词,默认是 and 的关系
A OR B “或”逻辑,返回 A 或 B 的并集结果,使用空格分割则默认为 OR
exists 返回结果中,需要有该字段
missing 返回结果中,不能含有该字段
匹配单个字符,用于替代单个字符
* 匹配0到多个字符
TO range 用法,如status:[400 TO 499],或status:[400 TO 499} '}'为不包含499
> 返回字段下大于某个数值的日志
>= 返回字段大于或等于某个数值的日志
< 返回字段小于某个数值的日志
<= 返回字段小于或等于某个数值的日志
= 返回字段等于某个数值的日志

金山云,开启您的云计算之旅

免费注册