Откакто беше зададен този въпрос, параметрите се промениха значително, версията и усвояването на версиите бяха отхвърлени, а анкетата беше заменена с график, който ще изисква cron израз за това колко често да се стартира отново ривъра (по-долу е планирано да се изпълнява на всеки 5 минути )
curl -XPUT 'localhost:9200/_river/account_river/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localhost:3306/test",
"user" : "test_user",
"password" : "test_pass",
"sql" : "SELECT `account`.`id` as `_id`, `account`.`id`, `account`.`reference`, `account`.`company_name`, `account`.`also_known_as` from `account` WHERE NOT `account`.`deleted`",
"strategy" : "simple",
"schedule": "0 0/5 * * * ?" ,
"autocommit" : true,
"index" : "headphones",
"type" : "Account"
}
}'
Но за основния въпрос, отговорът, който получих от разработчика, е тозиhttps://github.com/jprante/elasticsearch-river-jdbc/issues/213
Опитах домакинството с версии, но това не работи добре заедно с постепенните актуализации и добавянето на редове.
Добър метод би било индексирането в прозорец. Всеки времеви период (може би веднъж на ден или на седмица) се създава нов индекс за ривъра и се добавя към псевдоним. Старите индекси трябва да отпаднат след известно време. Тази поддръжка е подобна на индексирането на logstash, но е извън обхвата на река.
Методът, който в момента използвам като псевдоним за изследване, е да пресъздавам индекса и реката всяка вечер и да планирам реката да тече на всеки няколко часа. Той гарантира, че новите данни, които се въвеждат, ще бъдат индексирани този ден, а изтриванията ще се отразяват на всеки 24 часа