Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ElasticSearch rzeki JDBC MySQL nie usuwa rekordów

Od czasu, gdy zadano to pytanie, parametry znacznie się zmieniły, wersjonowanie i przetwarzanie zostały przestarzałe, a sonda została zastąpiona harmonogramem, który przyjmie wyrażenie crona określające, jak często należy ponownie uruchamiać rzekę (poniżej zaplanowane jest uruchamianie co 5 minut )

    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"
        }
    }'

Ale na główne pytanie, odpowiedź, którą otrzymałem od programisty, jest następującahttps://github.com/jprante/elasticsearch-river-jdbc/issues/213

Próbowałem sprzątania z wersjonowaniem, ale to nie działało dobrze razem z aktualizacjami przyrostowymi i dodawaniem wierszy.

Dobrą metodą byłoby indeksowanie okienkowe. W każdym przedziale czasowym (może raz dziennie lub na tydzień) tworzony jest nowy indeks dla rzeki i dodawany do aliasu. Stare indeksy mają po pewnym czasie spaść. Ta konserwacja jest podobna do indeksowania logstash, ale jest poza zasięgiem rzeki.

Metoda, której obecnie używam jako aliasingu, polega na tym, że co noc odtwarzam indeks i rzekę i planuję przepływ rzeki co kilka godzin. Zapewnia to, że nowe wprowadzane dane zostaną zindeksowane tego dnia, a usunięcia będą odzwierciedlane co 24 godziny



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz najczęściej używaną wartość z pola w MySQL

  2. Wielokolumnowy klucz podstawowy w MySQL 5

  3. Wartość strefy czasowej serwera „AEST” jest nierozpoznana lub reprezentuje więcej niż jedną strefę czasową

  4. C# z parametrami INSERT MySQL

  5. JavaScript Potwierdź przed usunięciem za pomocą PHP/MYSQL