更新时间:2024-04-12 GMT+08:00

短语搜索

短语搜索用于准确匹配目标短语,例如搜索语句abc def,不区分先后顺序,将匹配所有同时包含abcdef的日志。短语搜索和关键词搜索的区别请参考表1

  • 短语搜索:在关键词搜索语法的基础上实现,短语搜索能够区分关键词的顺序,用于精准匹配目标短语,搜索结果更加精确。短语搜索适用于英文短语、中文短语的搜索,不支持模糊搜索。
  • 关键词搜索:关键词搜索是基于分词实现,通过分词符先将搜索内容拆分为多个关键词,然后匹配日志。关键词搜索不会区分多个关键词在日志中出现的顺序,因此只要日志中按照搜索的与或非逻辑能命中关键词,该日志就会被搜索到。
    表1 搜索区别

    搜索方式

    短语搜索

    关键词搜索

    搜索区别

    区分关键词的顺序,用于精准匹配目标短语,搜索结果更加精确。

    不区分关键词的顺序,按照搜索逻辑命中关键词即可。

    举例说明

    假设您的日志流中存在2条原始日志,如下:

    • 原始日志1:this service is lts
    • 原始日志2:lts is service

    短语搜索:#"is lts",会命中1条日志。

    关键词搜索:is lts,会命中2条日志。

    短语搜索:#"lts is",会命中1条日志。

    关键词搜索:lts is,会命中2条日志。

搜索语法

表2 搜索方式

搜索方式

说明

全文搜索

  • #"abc def"
  • content:#"abc def"
说明:

content为日志原文对应的内置字段,#"abc def"等同于content:#"abc def",默认匹配日志原文的内容。

字段搜索

key:#"abc def"

说明:
  • value参数不可为空。
  • 字段搜索和not运算符配合使用时,还会匹配到不包含该字段的日志。

使用限制

  • 短语搜索不支持搭配模糊搜索。

    短语搜索中的星号(*)和问号(?)会被视为普通字符,因此短语搜索不支持搭配模糊搜索,可以用来搜索日志中的星号(*)和问号(?)。

  • 短语搜索不支持对分词符进行搜索。

    例如搜索语句#"var/log",其中 / 为分词符,搜索语句等同于#"var log",会搜索包含目标短语var log的日志。同理,搜索语句#"var:log"#"var;log"等搜索的也是包含目标短语var log的日志。

  • 中文搜索推荐采用短语搜索。

    由于中文默认采用的是一元分词,每个汉字单独分词,搜索时会匹配同时包含搜索语句中每一个汉字的日志,本身便具有模糊搜索的特性,当需要更加精确的结果时,推荐采用短语搜索。

示例说明

表3 搜索说明

搜索需求

搜索语句

搜索User-Agent字段值包含短语Mon, 17 Apr 2023的日志。

User-Agent:#"Mon, 17 Apr 2023"

搜索User-Agent字段值包含短语Mozilla/5.0的日志。

User-Agent:#"Mozilla/5.0"

搜索week字段值包含短语星期一的日志。

week:#"星期一"