本文介绍短语查询的语法、使用限制和示例。
概述
日志服务查询采用的是分词法,例如查询语句为abc def,将匹配所有包含abc和def的日志,不区分先后顺序,无法精准匹配目标短语。现在日志服务推出短语查询,用于精准匹配一段短语。
日志服务接收到短语查询请求后,执行流程主要分为如下两步:
- 先执行对应的非短语查询语句进行日志查询。例如执行 - #"abc def"语句,实际先执行- "abc def"语句。说明- 为避免查询量太大,目前执行短语查询时,限制步骤1最多返回10,000条结果。 
- 在上述查询结果中再挑选符合短语查询条件的日志,并返回最终的查询结果。 
语法
Copilot:AI辅助SQL语句自动生成:日志服务提供AI智能辅助SQL语句的使用,支持自然语言生成SQL、解释复杂SQL、优化SQL语句。
- 字段查询 - key:#"abc def"
- 全文查询 - #"abc def"
使用限制
- 短语查询的结果只支持向前、向后的连续翻页,不支持随机跳转。 
- 执行短语查询后,日志分布直方图展示的是非短语查询的结果。 
- 短语查询不支持搭配模糊查询。 
- 短语查询语句中必须添加半角双引号("")。 
- 短语查询语句中不支持搭配not语句,即不支持 - not #"abc def"。
- 短语查询语句中不支持搭配分析语句,即不支持 - #"abc" | select ***。因此使用短语查询时,也不支持快速分析功能。
翻页说明
当您执行一次翻页操作时,日志服务会对应执行一次短语查询操作,用于保证查询结果的连续性。
短语查询每次最多查询10,000条日志,在翻页过程中,可能出现某页中显示的日志数量少于每页显示对应的数量,但仍支持向后翻页。即表示当前查询的10,000条日志中,满足短语查询条件的日志数量少于每页显示对应的数量。
例如日志总数为20,000条,每页支持显示100条,当您执行一次短语查询后,只返回89条且向后翻页功能可用,此时说明前10,000条日志中只有89条日志满足短语查询条件。您可以执行翻页操作,日志服务会自动在后10,000条日志中,执行第二次短语查询,并返回符合条件的日志。

示例
- 例如您要查询包含 - redo_index/1的日志。- 使用非短语查询语句 - "redo_index/1",日志服务将根据全文索引匹配部分关键词。 
- 使用短语查询语句 - #"redo_index/1",日志服务将匹配完整的短语- redo_index/1。 
 
- 例如您要查询包含 - 02/Mar的日志(调试)。- 使用非短语查询语句time_local: 02/Mar,日志服务将根据全文索引匹配部分关键词。  
- 使用短语查询语句 - time_local: #"02/Mar",日志服务将匹配完整的短语- 02/Mar。