ELK 大佬来看看。

2018-09-30 11:05:37 +08:00
 flaty

上图是用 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 截取,搜索异常也是不正常才对。

1675 次点击
所在节点    程序员
2 条回复
oaix
2018-09-30 11:44:14 +08:00
聚合的时候用的是 msg.keyword 这个子字段, 它的 mapping type 应该是 keyword. 我猜搜索用的是 msg 这个字段, 它的 type 应该是 text, 即分词的, ignore_above 这个选项只会影响到 msg.keyword 字段, 所以搜索没有问题.
flaty
2018-09-30 11:50:16 +08:00
@oaix
谢谢大佬。我又仔细翻了下官方文档。应是你说的这样。

keywork 是专用于聚合的字段。默认超 256 被截取掉了。

所以,这里实际上应是有两个字段,msg 和 msg.keyword.

谢谢~!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/494088

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX