首先,对于ELK堆栈来说是全新的,因此仍在术语上苦苦挣扎。
我一直在尝试创建一些可视化效果,并发现通过JSON scipt合并字段有点挑剔,显然不建议这样做。
例如,我想可视化唯一 session 的数量,但是这些 session 对于给定的主机名来说是唯一的,因此该脚本通过聚合来实现。
{
"script": {
"source": "doc['hostname.keyword'].value + doc['session_id.keyword'].value",
"lang": "painless"
}
}
因此,根据我的研究结果,我应该做的是在GROK解析期间添加另一个Field,以使该字段存在于每个文档中,从而加快了搜索速度。
因此,可以通过以下操作来完成Grok部分:
add_field => { "hostname_session_id" => "%{hostname}:%{session_id}" }
因此,我缺少的是如何更新索引中已经存在的所有条目,以便它们在历史上添加了该字段,并且在实时系统中添加索引的最佳方法是什么?
我的Grok当前每天都在创建一个新索引,第二天我就起来了,所以一个静态索引和另一个仍要附加的索引。
谢谢
最佳答案
您可以使用update by query API通过指定如何生成新字段的脚本来更新现有文档。
关于elasticsearch - 从ElasticSearch中该索引中的两个现有字段在所有文档中创建新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61152517/