PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Synchroniser les données postgreSql avec ElasticSearch

Si vous devez également être averti des suppressions et supprimer l'enregistrement correspondant dans Elasticsearch, il est vrai que l'entrée Logstash jdbc n'aidera pas. Vous devrez utiliser une solution fonctionnant autour du binlog comme suggéré ici

Cependant, si vous souhaitez toujours utiliser l'entrée Logstash jdbc, vous pouvez simplement supprimer les enregistrements dans PostgreSQL, c'est-à-dire créer une nouvelle colonne BOOLEAN afin de marquer vos enregistrements comme deleted . Le même drapeau existerait alors dans Elasticsearch et vous pouvez les exclure de vos recherches avec un simple term requête sur le deleted champ.

Chaque fois que vous avez besoin d'effectuer un nettoyage, vous pouvez supprimer tous les enregistrements marqués deleted dans PostgreSQL et Elasticsearch.