elasticsearch - Logstash 可以根据字段选择为 elasticsearch 设置输出选项
问题描述
假设我有一些带有 join 字段的文档,所以它们可能有 parent(eg [join_field][parent]) 字段,因此根据文档,我需要将其传递给 logstash elasticsearch 输出中的 _routing,
...
output {
elasticsearch {
...
routing => "%{[join_field][parent]}"
}
}
现在,如果文档中没有 join_field,上面将%{[join_field][parent]}
在 ES 中将其路由设置为字面意思。
无论如何我可以将其设为可选,因此只有在 [join_field][parent] 存在时,ES 输出才会设置路由?
或者这里唯一的方法是在字段上设置 if else 条件并为每个设置单独的输出(但是对于许多选项有多个 if 感觉很奇怪)?这也可能有任何性能问题吗?
...
output {
if [join_field][parent] {
elasticsearch {
...
routing => "%{[join_field][parent]}"
}
} else {
elasticsearch {
...
}
}
}
解决方案
推荐阅读
- excel - Excel 结构化引用问题
- mongodb - MR 并行处理失败:{ ok: 0.0, errmsg: \"WiredTigerIndex::insert: key too large to index, failed
- angular - 无法将广告放入我的 Angular Dart 应用程序
- python-3.x - python - 如何在 discord.py 中提及用户
- graphql - 如何更改来自外部 api 的 json 结果的 graphql typedefs 名称?
- java - 类扩展另一个类,其参数仅在运行时已知
- python-3.x - 在计算文件夹中每个文本文件的复合情绪值的平均值时遇到问题
- php - For loop concatenation
- android - 不同用户的访问权限。安卓
- python - 如何使用烧瓶设置输入文本的值?