我试图从一个Postgres的观点并经由Elasticsearch logstash索引文件中工作。我的配置文件的声明部分看起来是这样的:Logstash JSON过滤器不会出现与JDBC输入
select search_document FROM my_view;
在我的配置文件中的下一行是我试图从数据库中提取调用的值:
filter {
json {
source => "[search_document][value]"
}
}
这应该选择该列的值,然后直接将其导入Elasticsearch(或在此测试阶段,stdout);但是,它不能正常工作。我已经在上面的属性访问中尝试了一些变体,并且它总是插入带有“search_document”作为关键字的文档以及JSON文档的其余部分,因为它的价值。
有什么我做错了吗?
编辑:我已经更新了我的观点来执行基于另一个答案,我已经找到了一个select search_document::text FROM my_view;
。原列的类型是JSONB和行中的数据看起来与此类似:
{ "value" : { "key_1": "hello", "key_2": "world" } }
? –
当然,请参阅上文。 – sean