【发布时间】:2020-09-27 17:20:09
【问题描述】:
我正在尝试根据查找表标记我的数据。 查找表具有以下字段:
• Key - 表示我要标记的数据中的字段名称。 在实际数据中,该字段是“Headers”字段的子字段。 “Key”字段的示例: “服务器。 (* 是通配符)
• Value- 表示上述字段的所需值。 查找表中的值只是真实数据值中字符串的一部分。 “值”字段的示例: “Avtech”。
• 供应商- 如果在文档中找到字段值的组合,我想添加到真实数据中的值。
真实数据中的组合示例: “Headers.Server : Linux/2.x UPnP/1.0 Avtech/1.0”
A match with that document in the look up table will be:
Key= Server (with wildcard on both sides).
Value= Avtech(with wildcard on both sides)
Vendor= Avtech
所以基本上我需要在该文档中添加一个字段,其值为“Avtech”。
- “标题”中的子字段是动态字段,会因文档而异。
- 找不到匹配项,我需要将值“未知”添加到标记字段。
我尝试使用丰富处理器,使用查找表作为源数据,匹配字段将为“值”,丰富字段将为“供应商”。 在丰富的处理器中,我不知道如何调用该字段,因为它是动态的,我想搜索该值是否在“Headers”子字段中的任何位置。 另外,我不认为查找表中的“Value”和Headers子字段的值会匹配,因为查找表中的“Value”字段是一个两边都有通配符的子字符串。
我可以使用一些帮助来完成我正在尝试做的事情......以及如何在丰富的处理器中使用通配符进行搜索。 或者如果您除了丰富的处理器之外还有其他想法 - 例如父子和查找术语机制。
谢谢! 阿迪。
【问题讨论】:
标签: elasticsearch kibana lookup lookup-tables