我有码头工人-
我正在使用Elasticsearch摄取管道来处理我的日志(在Filebeat发送它们之后)。
在我的日志中,有一个消息字段和有效负载字段。这是有趣的部分:
负载有时是对象,有时是字符串。
现在,ES显然不允许映射中出现这种类型的冲突,因此每天首先进入我的索引的任何类型都会进入,而另一种类型将无效并抛出错误。我想以以下方式处理这个问题:
我不知道如何进行“嵌套”,也没有找到任何方法来类型检查有效负载字段。
这是否根本不受支持?我必须为此添加Logstash吗?或者它可以在Filebeat方面解决吗?
编辑:提到的摄取管道
在您的摄取节点中,您将创建GROK过滤器,并根据找到的模式决定将值放在哪里。
记住,如果你想强制字段类型,你可以使用这个结构:
%{FAVORITE_DOG:pet:int}
%{FAVORITE_DOG_text:pet:string}
例如,如果您想解析一个字段并决定根据类型放入两个不同的字段。这里我定义了两种不同的模式:
P1(For integers): "My value is=%{NUMBER:my_variable_int:int}"
P2(For text):"My value is=%{WORD:my_variable_text:string}
ps。:%{NUMBER}和%{WORD}是常见的正则表达式规则
ps2.:顺序很重要,试着把整数放在第一位,因为字符串总是会被识别......
示例:
log1: "My value is=10"
log2: "My value is=SOME_TEXT"
{
"description" : "...",
"processors": [
{
"grok": {
"field": "message",
"patterns": ["My value is=%{NUMBER:my_variable_int:int}","My value is=%{WORD:my_variable_text:string}"]
}
}
]
}
来源:https://www . elastic . co/guide/en/elastic search/reference/master/grok-processor . html
问题内容: 还有一种特殊的文字,称为类文字,它通过使用类型名称并附加“ ”来形成;例如,。这是指代表类型本身的(类型为)对象。 该文字可以分配给什么类型的变量? 如果可能,请举一个小例子。 问题答案: 查看Javadocjava.lang.Class以了解你可以使用其中一个小家伙做什么-主要与反思有关
问题内容: SQL中BIGINT字段类型的限制是什么? 100000235882380或100000466411115是否可以接受?(这是来自Facebook的ID) 问题答案: 查看所使用的RDBMS的手册。并非在所有系统中都相同。 MySQL:https: //dev.mysql.com/doc/refman/5.7/en/integer- types.html PostgreSQL:http
问题内容: 如标题所述,有哪些不同的文档类型?它们的含义是什么?我注意到从切换到IE7时,布局看起来有些不同 至 还有其他的吗?影响或后果是什么? 谢谢! 问题答案: 一个 文档类型 或 文档类型声明 关联与文档 的文档类型定义 。 该 文档类型定义 是一个XML文档的标准。XML和XHTML文档都有许多DTD。XML本身并没有太多的架构或一组非常具体的规则,除了要求一切都必须格式正确。您可以将D
如果文档集合包含: 我想构建一个聚合,通过我的myDocRefId字段只返回没有被任何其他文档引用的文档。对于这个集合,我想返回: 文档1在聚合中被删除,因为文档3具有对它的引用。 如何在聚合管道中实现这一点?
我为我的Gridview调用了一个javascript,但它看起来像文档。所有这些在Chrome/Firefox中都不起作用。 我可以用什么来代替它?非常感谢。
由于是16位,我猜这里的“Unicode”是指UTF-16,但我一点也不确定。 更新:我注意到UTF-16的维基页面上说“Unicode”是我们现在所知道的UCS-2的旧术语。然而,它也说Java现在使用UTF-16。因此,我仍然怀疑JNI文档中的“Unicode”是指标准的UTF-16,但我通常不使用JNI甚至Java,所以我希望有人觉得权威来插话。