Sumo Logic:计算字段中的每个匹配字符串
Posted
技术标签:
【中文标题】Sumo Logic:计算字段中的每个匹配字符串【英文标题】:Sumo Logic: Count every matching string within a field 【发布时间】:2020-07-07 19:02:36 【问题描述】:我有一个已解析的字段,我需要计算给定字符串在其中出现的次数。这似乎相对简单,但我一直在搜索 Sumo 文档,现在我不确定这是否可能。请帮忙!
【问题讨论】:
您可能需要使用一些正则表达式来解析字符串:help.sumologic.com/05Search/Search-Query-Language/…。如果您愿意发布示例消息,我很乐意提供帮助。 【参考方案1】:我有一个使用 replace()
正则表达式变体的 hacky 解决方案的想法。
如果inputField
是您的输入字段,并且您想计算is
在inputField
中出现的次数,那么
| "This is a very hacky solution which might get you in trouble" as inputField
| replace(inputField, /is/, "@") as matched
| replace(matched, /[^@]/, "") as skipTheRest
| length(skipTheRest) as finalCount
该解决方案假定@
不存在于输入字段中。
免责声明:我目前受雇于 Sumo Logic。
【讨论】:
【参考方案2】:如果我正确理解了问题,我们已经解析了一个字段 A,现在我们想要匹配它是否包含一些字符串 s。 在这种情况下,可以将以下内容附加到您的查询中。
| if(A matches "*s*", 1, 0) as ct
| sum(ct)
【讨论】:
以上是关于Sumo Logic:计算字段中的每个匹配字符串的主要内容,如果未能解决你的问题,请参考以下文章
您如何在 Sumo Logic 中执行相当于 SQL UNION 的操作?
Sumo Logic 和 Cloudwatch 日志不适用于查询源
在 Sumo Logic 中,如何从根文件夹中获取文件夹列表?