tencent cloud

文档反馈

检索条件不生效

最后更新时间:2024-01-20 17:11:57
    使用检索分析时,可能会遇到检索结果中很多日志“不符合”检索条件的情况,似乎检索条件并未生效。这往往是由于检索语句没有使用恰当的语法导致的,几种典型的情况如下:

    使用空格连接多个检索条件时,检索条件未生效,怎么办?

    检索语句为string1 string2 string3key1:value1 key2:value2 key3:value3的形式时,多个检索条件之间使用空格进行连接。此时会发现原始日志只要符合其中的任一条件就会出现在检索结果中,而不是必须符合所有的条件。
    这是由于多个检索条件用空格连接时,视为”或“逻辑。如果需要所有检索条件均符合,需使用AND连接多个条件,例如string1 AND string2 AND string3key1:value1 AND key2:value2 AND key3:value3

    检索条件包含英文符号时,检索条件未生效,怎么办?

    检索语句中包含英文符号时,例如\\/online\\/loginURL:\\/online\\/login/符号为语法保留符号,因此需要转义),会发现原始日志只要包含onlinelogin就会出现在检索结果中,而不是同时包含onlinelogin
    这是由于检索条件包含英文符号,而索引配置中的全文索引或对应的键值索引字段的分词符又刚好包含了该英文符号时,检索条件也会进行分词,原始日志只要包含分词后的任意一个词就会出现在检索结果中。如果需要所有的词均包含在日志中,需使用双引号包裹检索条件,例如"/online/login"URL:"/online/login",引号内的特殊符号此时也不再需要进行转义。
    关于分词的更多介绍参见 分词与索引

    检索条件包含中文时,检索条件未生效,怎么办?

    检索语句为中文时,例如登录失败,且索引配置中勾选了“包含中文”选项,会发现原始日志只要包含其中的任意一个字就会出现在检索结果中,而不是同时包含这四个字。
    这是由于索引配置中勾选了“包含中文”时,会对中文进行分词,每个字一个词。原始日志只要包含其中的任意一个词(即任意一个字)就会出现在检索结果中。如果需要所有的词均包含在日志中,需使用双引号包裹检索条件,例如"登录失败"
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持