You need to enable JavaScript to run this app.
导航
短语查询
最近更新时间:2024.10.09 10:15:19首次发布时间:2024.01.22 17:18:37

日志服务提供短语查询,用于精准匹配指定的短语。本文介绍短语查询的基本功能、语法、使用限制和示例。

查询类型

日志服务支持短语查询和非短语查询,详细说明如下表所示:

查询类型

说明

非短语查询

采用分词法进行关键词匹配,即根据索引分词符将短语拆分为各个独立的关键词并进行检索。
例如开启全文索引且索引分词符包含空格,那么执行检索语句 "error warn" 时,日志服务将根据 error AND warn 语句进行检索。只要日志中包含关键词 errorwarn ,该条日志就会被检索到。

短语查询

精准匹配包含指定短语的日志。
例如开启全文索引且索引分词符包含空格,那么执行短语查询语句 #"error warn" 时,只有日志中包含 error warn 这一个完整的短语时,该条日志才会被检索到。

基本语法

短语查询使用井号(#)作为标识符。详细说明,如下表所示:

说明

此处以分隔符为空格为例。

查询方式

短语查询语法

非短语查询语法

键值检索

key:#"abc def"

key: "abc def",等同于 key: abc AND key: def

全文检索

#"abc def"

"abc def",等同于 abc AND def

基本原理

短语查询的基本原理如下:

  1. 日志服务后端接收到短语查询请求后,先执行对应的非短语查询语句进行日志检索。例如执行短语查询语句 #"abc def" ,实际后端先执行 abc AND def 语句,完成分词匹配。

    说明

    为避免数据量过大,执行短语查询时,日志服务后端将限制步骤 1 最多返回 10,000 条结果。

  2. 日志服务后端在上述检索结果中挑选出匹配目标短语的日志,并返回最终的检索结果。

注意事项

  • 短语查询最多选取 10,000 条日志进行短语匹配。
  • 执行短语查询后,日志分布直方图展示的是非短语查询的结果。
  • 针对短语查询结果,仅支持向前或向后的连续翻页操作,不支持随机跳转。
  • 短语查询不支持搭配模糊查询。
  • 短语查询语句必须添加半角双引号("")。
  • 短语查询语句中不支持搭配 NOT 语句,即不支持 not #"abc def"
  • 短语查询语句不支持搭配 SQL 语句,即不支持 #"abc def" | select ***。因此使用短语查询时,也不支持快速分析功能。

翻页操作

当您执行一次翻页操作时,日志服务会对应执行一次短语查询,用于确保查询结果的连续性。
每次进行短语查询时,最多取 10,000 条日志进行短语匹配。在翻页操作过程中,可能出现某一页所显示的日志数量少于每页指定要显示的日志数量但仍可以向后翻页。此时说明符合非短语查询语句的日志数量多于 10,000 条,但在当前短语查询的 10,000 条日志中,满足短语查询条件的日志数量少于指定要显示的日志数量。
例如日志总数为 40,000 条,并且指定每页显示 100 条日志。当您执行一次短语查询后,当前页面仅显示 40 条日志却仍可以进行向后翻页操作,则表示当前 10,000 条日志中仅有 40 条日志满足短语查询条件。当您继续执行翻页操作时,日志服务会自动在后续的 10,000 条日志中,执行第二次短语查询,并返回符合条件的日志。
图片

查询示例

示例1

查询包含 open failed 的日志。非短语查询和短语查询这两种方式的结果如下所示。

说明

本示例已开启全文索引且索引分词符包含空格。关于索引的详细说明,请参考配置索引

  • 非短语查询
    执行 "open failed" 语句,那么同时包含 openfailed 的日志都将被查询到。
    图片
  • 短语查询
    执行 #"open failed" 语句,日志服务将匹配完整的短语 open failed
    图片

示例2

查询 content 字段值中包含 "code":1 的日志。非短语查询和短语查询这两种方式的结果如下所示。

说明

  • 本示例已开启 content 字段的键值索引且索引分词符包含半角冒号(:)。关于索引的详细说明,请参考配置索引
  • 本示例的查询关键词中包含双引号("),因此需在检索语句中对双引号(")进行转义,例如 \"code\"
  • 非短语查询
    执行 content: "\"code\":1" 语句,那么 content 字段值中同时包含关键词 code1 的日志都将被查询到,不能确保精准匹配 "code":1 的日志。
    图片
  • 短语查询
    执行 content: #"\"code\":1" 语句,日志服务将精准匹配 content 字段中完整的短语 "code":1
    图片