Se è necessario essere informati anche sui DELETE ed eliminare il rispettivo record in Elasticsearch, è vero che l'input jdbc di Logstash non sarà di aiuto. Dovresti usare una soluzione che aggira il binlog come suggerito qui
Tuttavia, se desideri comunque utilizzare l'input jdbc di Logstash, ciò che puoi fare è semplicemente eliminare i record in PostgreSQL, ovvero creare una nuova colonna BOOLEAN per contrassegnare i tuoi record come deleted
. Lo stesso flag esisterebbe quindi in Elasticsearch e puoi escluderli dalle tue ricerche con un semplice term
query sul deleted
campo.
Ogni volta che devi eseguire un po' di pulizia, puoi eliminare tutti i record contrassegnati come deleted
sia in PostgreSQL che in Elasticsearch.