- 文档首页
日志服务
常见问题
检索分析常见问题
如何模糊检索日志
如何模糊检索日志
日志服务执行模糊检索语句时,会识别与模糊关键词相匹配的前 100 词,并返回包含这 100 词中任意词的日志。你可以通过如下方式进行模糊检索。
模糊查询只查询命中的前100个词,所以当模糊条件前缀很短且日志中超过100个词时,查询结果会不完整。
同时使用 not 语句时,可能会出现查询条件未被过滤。例如执行not abc*,查询结果可能会出现以abc开头的词。
- 星号(*):代表多个任意字符的词。如ab*代表查询以ab开头的词。
- 问号(?):代表单个字符的词。如ab?de代表查询以ab开头、de结尾且中间包含单个字符的词。
- 示例 1:查询包含以 erro 开头的关键词的日志。
-
- 示例 2:查询 Action 字段值是以 put 开头的日志。
-
基于 SQL 的 LIKE 语法进行精确的模糊查询
SQL 的 LIKE 语法用于在 WHERE 子句中指定检索条件,可实现日志的模糊查询。在 LIKE 语法中百分号(%)表示匹配任意数量的字符,包括 0 个字符;下划线 (_)表示匹配单个字符。
说明
使用 SQL 的 LIKE 语法时,目标字段必须开启键值索引,并开启统计功能。具体操作,请参考键值索引配置。 - 示例 1:查询 ReqID 字段值是以 8f60 开头的日志。
-
- 示例 2 :查询 region 字段值不包含 shanghai 的日志。
-
使用模糊检索语句检索日志时,可能出现如下查询结果不一致现象。
- 检索结果的直方图数据量,多于原始日志显示的数据(比如直方图显示存在数据,但原始日志显示检索结果为空)。
-
- 可参考直方图缩小查询时间范围,或使用基于 SQL 的 LIKE 语法进行精确的模糊查询。
- 使用包含 not 语句模糊检索日志时,因模糊查询只查询命中的前100个词,可能会出现查询条件未被完全过滤。
- 例如执行NOT RemoteAddr:10*,查询结果可能会出现以10开头的词。
-
- 可使用基于 SQL 的 NOT LIKE 语法进行精确的模糊查询。
最近更新时间:2026.08.25 14:59:50