elasticsearch,Jdbc,Lucene,elasticsearch" /> elasticsearch,Jdbc,Lucene,elasticsearch" />

无法在elasticsearch中为jdbc river的sql查询中指定动态时间范围

无法在elasticsearch中为jdbc river的sql查询中指定动态时间范围,jdbc,lucene,elasticsearch,Jdbc,Lucene,elasticsearch,我正在使用jdbc river for elasticsearch索引mysql表数据 我的河流: curl -XPUT 'localhost:9200/_river/river_mention_reports/_meta' -d '{ "type" : "jdbc", "jdbc" : { "driver" : "com.mysql.jdbc.Driver", "url" : "jdbc:mysql://localhost:3306/ESTes

我正在使用jdbc river for elasticsearch索引mysql表数据

我的河流:

 curl -XPUT 'localhost:9200/_river/river_mention_reports/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "com.mysql.jdbc.Driver",
        "url" : "jdbc:mysql://localhost:3306/ESTest1_development",
        "user" : "root",
        "password" : "password",
        "sql" : "select * from table where creation_time >= (NOW() - INTERVAL 2 MINUTE)",
        "poll" : "2m",
        "versioning" : false
    },
    "index" : {
        "index" : "monitoring",
        "type" : "mention_reports"
    }
}'
我在river中指定的SQL查询是:

从创建时间>=(现在()-间隔2分钟)的表格中选择*


现在的问题是,每次轮询后的river都会删除在查询中指定的时间范围(当前时间减去2分钟)之外索引的数据,而不是向索引中添加新数据。我指定时间范围的原因是因为我不希望河流一次又一次地重新索引整个数据集

您需要在river配置的“jdbc”部分中指定“digesting”:false(默认为true),其中有“versioning”:false。顺便说一句,“版本控制”默认为false,实际上应该在“索引”部分,而不是“jdbc”部分