我想用logstash将数据从我的MySQL数据库导入到elasticsearch。我已经能够导入自定义查询结果,但是我错过了可以定义logstash创建的索引的映射/设置的地方。此外,我不知道如何导入具有一对多关系的数据。
这是到目前为止我的logstash.conf:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/shop"
jdbc_user => "root"
jdbc_password => ""
jdbc_driver_library => "C:\Users\curUser\Desktop\mysql-connector-java-5.1.42\mysql-connector-java-5.1.42-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * FROM variants var"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "search"
document_type => "variants"
document_id => "%{id}"
}
}注意:我只想使用logstash将数据导入到elasticsearch。这是一个网上商店,所以我必须在现场使用一些分析器
发布于 2017-08-03 19:54:58
我已经浏览了LogStash的ES插件的文档--不确定这是否可能。
但是,您可以在运行LogStash之前设置索引映射。您可以通过将索引映射放入cURL来实现这一点,或者有一种方法可以使用LogStash执行此HTTP请求
请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html和https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html
发布于 2018-08-10 18:28:11
logstash.conf文件中使用相同的索引名SELECT * FROM variants var)有许多列,并且您不想导入所有列,请使用赋值函数删除不需要的列:filter {{ remove_field => "@version","@timestamp",“column”}}
可以像添加select查询一样添加筛选器{{ rename => { "id“=> "ID”}
https://stackoverflow.com/questions/45482966
复制相似问题