0

我正在尝试使用 logstash 将 PostgreSQL 数据库中的数据索引到弹性搜索。我在数据库中有一个 JSON 类型的列。当我运行 logstash 时,我收到一个名为“缺少转换器处理”的错误。我知道这是 java/logstash 无法识别 JSON 类型列。

我可以将列类型转换为“col_name::TEXT”,效果很好。但是,我需要该列作为弹性搜索索引中的 JSON。有什么解决方法吗?

注意:JSON 对象中的键不是固定的,它会有所不同。

Logstash postgres query example:

input {
    jdbc {
        # Postgres jdbc connection string to our database, bot
        jdbc_connection_string => "***"
        # The user we wish to execute our statement as
        jdbc_user => "***"
        jdbc_password => "***"
        # The path to our downloaded jdbc driver
        jdbc_driver_library => "<ja_file_path>"
        # The name of the driver class for Postgresql
        jdbc_driver_class => "org.postgresql.Driver"
        # our query
        statement => "SELECT col_1, col_2, col_3, json_col_4 from my_db;"
    }
}
filter{
}
output {
    stdout { codec => json_lines }
}

需要来自 PostgreSQL 的 JSON 对象来进行弹性搜索。

4

0 回答 0