阿里云日志服务,设置索引时,如果字段类型为String
,可以设置分词符
。默认的分词符是, '";=()[]{}?@&<>/:\n\t\r
。这个有什么用呢?
打点时,最好是各字段都有明确的含义,如:1
2
3
4
5
6
7{
key : "update_chess_error",
action : "1024",
ext : "16",
refer : "8",
}
以上日志含义,在 1024 房间,更新牌面时发生了错误,从 8 更新到了 16
但经常会遇到这种情况,字段不够用,需要把多个参数加到一个字段里1
2
3
4{
key : "update_chess_error|room:1024|from:8|to:16",
}
日志含义同上
然而,上面的日志会非常不容易检索,因为按照分词规则,它会被切分成1
2
3
4update_chess_error|room
1024|from
8|to
16
而且检索|
时会报错
可以优化为1
2
3
4
5
6
7{
key : "update_chess_error,room1024,from8,to16",
}
如查所有的该类型日志: key:update_chess_error
如查所有房间1024的该类型日志: key:update_chess_error and key:room1024
如查所有从8更新到16的该类型日志: key:update_chess_error and key:from8 and key:to16
...
更多查询语法参考查询语法