tencent cloud

文档反馈

分词与索引

最后更新时间:2024-01-20 16:33:55

    分词

    分词示意
    检索一个较长的日志时,通常只使用其中一部分内容进行检索。例如:需要检索出包含sample的如下完整日志:
    10.20.20.10;[2018-07-16 13:12:57];GET /online/sample HTTP/1.1;200
    由于日志全文很长,除sample外还有很多其他内容,其与检索条件并不是直接相等,因此不能直接使用sample作为检索条件来检索该日志。为满足该检索需求,需要将日志全文切分为多个片段,每个片段称之为一个“词”,而这个过程称之为“分词”。
    例如:按符号对上述示例日志进行切分,只要出现了@&()='",;:<>[]{}/ \\n\\t\\r范围内的符号,就切分日志,将得到如下的词:
    
    
    检索条件为sample时,上述分词后的日志包含sample,即认为符合检索条件。
    检索条件本身也会进行分词,例如下图3种检索条件:
    
    
    检索条件A:\\/online\\/login
    其中\\用于转义/符号(该符号为检索语法保留符号,因此需要转义)。
    转义后的/符号是分词符,因此实际的检索条件为 online OR login,日志中只要包含 online login,即符合检索条件。
    上述示例日志符合该检索条件。
    检索条件B:"/online/login"
    由于双引号的存在,/符号无需再进行转义。
    双引号内的内容同样会分为两个词,但双引号表示日志需同时存在这两个词,且两个词顺序严格一致才符合检索条件。
    上述示例日志不包含login不符合该检索条件。
    检索条件C:"/online/sample"
    上述示例日志同时包含onlinesample,且顺序与检索条件一致,符合该检索条件。
    在大多数使用场景下,检索条件如果包含分词符,建议使用双引号语法进行检索,既能避免添加转义符,又能更加精准的检索到所需的日志。更多检索语法说明参见 语法与规则
    分词设置
    日志分词依据包含两类,可在 配置索引 中设置。
    分词符:可自定义需要按照哪些符号对日志进行切分,支持英文符号及\\n\\t\\r。在上面的例子中,@&()='",;:<>[]{}/ \\n\\t\\r即为分词符。
    是否包含中文:中文较为特殊,不能使用中文符号作为分词符,而且仅按照符号对中文进行分词也往往达不到预期效果。例如,日志为用户登录失败,密码错误,需要使用"登录失败"进行检索,是不能通过符号对日志进行切分来满足检索需求的。此时可在 配置索引 中设置该日志“包含中文”,日志服务(Cloud Log Service,CLS)将自动将日志中的每一个汉字切分为独立的词。

    索引

    为了快速检索出需要的日志,CLS 对上传至平台的日志进行包括分词在内的很多预处理,这个过程称之为创建“索引”。索引决定了日志能够以什么样的条件来进行检索和分析,因此在上传日志数据前,需要为日志主题设置一个合理的索引规则,以方便后续检索分析,详细介绍请参考 配置索引
    索引规则仅针对新上传的日志数据生效,历史数据不生效,创建索引的过程中会产生索引流量及索引存储量,存在一定的使用成本。
    联系我们

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

    技术支持

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

    7x24 电话支持