Я пытаюсь синхронизировать коллекцию MongoDB c с индексом Elasticsearch, используя Logsta sh.
Я использую плагин Logsta sh JDB C с DBSchema JDB C Библиотеку драйверов для этого.
Это файл конфигурации. Я использую для logsta sh: -
input {
jdbc{
jdbc_driver_class => "com.dbschema.MongoJdbcDriver"
jdbc_driver_library => "/path/to/mongojdbc1.8.jar"
jdbc_user => ""
jdbc_password => ""
jdbc_connection_string => "jdbc:mongodb://127.0.0.1:27017/db1"
statement => "db.collection1.find({ }, { '_id': false })"
}
}
output {
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "testing"
user => ""
password => ""
}
}
Это работает нормально, но когда я запускаю logsta sh несколько раз, записи несколько раз вставляются в Elasticsearch. Я не хочу, чтобы записи переписывались. Кроме того, если я изменяю документ и снова запускаю logsta sh, он должен изменить ту же запись в Elasticsearch без создания нового документа. Как мне go достичь этого?