和搜索引擎类似,文本类(Text)数据查询基于词(Term)的命中,因此需要配置分词符、大小写敏感,包含中文(中文分词)选项。

配置说明

  • 大小写敏感
    原始日志查询时是否区分大小写。例如原始日志为“internalError”:
    • false(不区分),即查询关键字”INTERNALERROR”和“internalerror”都能查询到样例日志。
    • true(区分),只能通过关键字“internalError”查询到样例日志。
  • 分词符

    原始日志内容根据分词符可以将日志内容切分成多个关键词。

    例如我们要查询如下日志内容:
    /url/pic/abc.gif
    • 不设置任何分词符,整个字符串会作为一个独立单词/url/pic/abc.gif,只有通过该完整字符串,或通过模糊查询/url/pic/*才能找到。
    • 如果设置分词符为/,则原始日志被切分为urlpicabc.gif三个单词,可以使用任意一个单词或单词模糊查询都可以找到该日志,例如urlabc.gifpi*,也可以使用/url/pic/abc.gif进行查询(查询时会被拆分为url and pic and abc.gif三个条件)。
    • 如果设置分词符为/.,则原始日志被切分为urlpicabcgif四个单词。
    说明 通过设置合理的分词符,可以放宽查询的范围。
  • 包含中文
    如果日志中包含中文,需要打开中文分词。例如如下日志内容:
    buyer:用户小李飞刀lee

    默认分词符为”:”,则原始日志会被拆分为buyer用户小李飞刀lee这两个单词,如果搜索用户,则不会返回lee,如果开启包含中文选项后,日志服务后台分词器会智能去理解中文含义,并将日志拆分为buyer用户小李飞刀lee五个单词,无论使用飞刀小李飞刀(会被解析为:小李 and 飞刀) 都可以查找到日志。

    说明 中文分词对写入速度会有一定影响,请根据需求谨慎设置。
  • 全文索引
    全文查询(索引)默认会将整条日志(除Time以外所有字段、包括Key)作为文本类型,全文查询默认不需要指定key。例如对以下由4个字段组成的日志(time/status/level/message)。
    [20180102 12:00:00] 200,error,some thing is error in this field
    • time:2018-01-02 12:00:00
    • level:”error”
    • status:200
    • message:”some thing is error in this field”
    说明
    • 全文检索时不需要输入前缀,在检索过程中搜索error时(level和message两个字段中error都会被命中)。
    • 全文检索需要设置分词符,例如当设置分词符为“ ”时,可以“status:200”作为一个短语;如果分词符为“ :“时,“status”和“200”分别会作为2个独立短语。
    • 数值类会被作为文本处理,例如200可以检索到该日志,时间字段(time) 不会被作为文本处理。
    • 当输入Key时整条日志也会被命中,例如“status”。