我正在尝试通过在日志字段(这是一个长文本字段)中捕获一些“关键字”来轻松地创建一些脚本字段。例如,我有一堆日志字段:
"Error: Duplicate entry in user1"
"Error: Duplicate entry in user2"
"Error: Duplicate entry in user1"
"Error: Duplicate entry in user3"
"Error: Duplicate entry in user2"
"Error: Duplicate entry in user1"
"Error: Duplicate entry in user3"
我正在使用的无痛工具:
if (doc['log.keyword'].value == 'Duplicate entry') {
return "match";
}
return "No match";
要仅捕获“重复条目”错误消息而不考虑用户ID,我确定我需要使用正则表达式来做到这一点。我只是想知道是否还有另一种不使用正则表达式的方法。有什么建议么。
答案 0 :(得分:1)
有很多方法。您可以尝试以下方法:
GET logs/_search
{
"query": {
"script": {
"script":
"""
if (doc["log.keyword"].value == null) return false;
return doc["log.keyword"].value.contains("Duplicate entry");
"""
}
}
}
在kibana 5中使用三重引号可能无效。我不记得了。只需用单引号代替