问题描述
我有一个数据库表,其中包含400多个记录,但是每次使用logstash和JDBC时,它仅获得126条记录。我每次尝试使用不同的索引多次,但是仍然只检索126个。
以下是输出配置:
input {
jdbc {
-
-
jdbc_driver_class => "org.postgresql.Driver"
statement => "SELECT * from xfailure"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
manage_template => false
index => "test_predictions"
document_id => "%{id}"
}
}
当我检查行数时,我发现它有400多个记录,这是select语句:
SELECT * FROM xfailure;
这是记录列的示例:
id|modified|x_url|x_id|correlation_id|links|code|description|explanation|tr_id
我在Kibanna上创建了一个索引,我使用时间戳作为时间字段,但是命中次数仅为162次!
解决方法
我为此找到了一个解决方案,它指定了每个字段,因此可以通过更改以下位置的sql查询来实现:
SELECT * FROM xfailure;
到
SELECT field_1 as field_1,field_2 as field_2 FROM xfailure;
现在可以正常工作了。