上图是用 es 的 terms 的分组多层饼,主要用于查看异常。出问题的是在最外层饼,filed 为 msg 字段。
箭头所指全部为 missing value(同一颜色),实际上是 java 的异常栈。就是有一大坨异常换行的。 在 es 中搜索这些异常也是 OK 的,至少可以说明分词是 OK 的吧。
只要是异常栈的 msg ( msg 即是异常栈),必须勾选 show miss value 才会显示。为何异常栈的 msg 会 miss value 呢?
ps:其它的较短的未打印异常栈的是 OK 的。参见图中左上顶部最外层有一小色块。
pps:
es 的 mapping 的确有如下: "ignore_above": 256。但如果会 ignore,为何搜索是 OK 的?按我的理解,如果超过 256 截取,搜索异常也是不正常才对。
1
oaix 2018-09-30 11:44:14 +08:00
聚合的时候用的是 msg.keyword 这个子字段, 它的 mapping type 应该是 keyword. 我猜搜索用的是 msg 这个字段, 它的 type 应该是 text, 即分词的, ignore_above 这个选项只会影响到 msg.keyword 字段, 所以搜索没有问题.
|