2012-10-17 11 views
0

我正在使用jdbc河进行elasticsearch以索引mysql表数据。无法在elasticsearch中为jdbc河的sql查询指定动态时间范围

我的河:

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" 
    } 
}' 
,我在河边指定

SQL查询:

select * from table where creation_time >= (NOW() - INTERVAL 2 MINUTE)

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

回答

0

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