我正在尝试使用logstash将我的MySql服务器上的所有数据同步到我的Elasticsearch服务器。
我已经学习了logstash.conf的基础知识,这是我的文件:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost/homestead"
jdbc_user => "homestead"
jdbc_password => "secret"
jdbc_driver_library => "/home/vagrant/Code/mysql-connector-java-5.1.38-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * from volunteer"
}
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost/homestead"
jdbc_user => "homestead"
jdbc_password => "secret"
jdbc_driver_library => "/home/vagrant/Code/mysql-connector-java-5.1.38-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * from contact"
}
}
output {
elasticsearch {
document_id => "%{uid}"
hosts => "localhost"
}
}
我的目的是将每个表复制到一个Type中。我该如何指定?
谢谢!
答案 0 :(得分:3)
您可以做的只是在每个输入中添加一个字段(使用add_field
),表示您希望将数据编入索引的类型名称,然后将该变量用作{{中的类型名称1}}输出。
elasticsearch
请注意,使用相同的索引来托管多种不同的映射类型可能会导致类型冲突。简短的故事是两个不同类型的两个不同的字段必须始终具有相同的类型定义。详细了解in this blog article