PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Synchronisieren Sie postgreSql-Daten mit ElasticSearch

Wenn Sie auch bei DELETEs benachrichtigt werden müssen und den entsprechenden Datensatz in Elasticsearch löschen, hilft die Logstash-jdbc-Eingabe zwar nicht weiter. Sie müssten eine Lösung verwenden, die das Binlog umgeht, wie hier vorgeschlagen

Wenn Sie jedoch weiterhin die jdbc-Eingabe von Logstash verwenden möchten, können Sie Datensätze in PostgreSQL einfach vorläufig löschen, d. h. eine neue BOOLEAN-Spalte erstellen, um Ihre Datensätze als deleted zu markieren . Das gleiche Flag würde dann in Elasticsearch existieren und Sie können sie mit einem einfachen term von Ihren Suchen ausschließen Abfrage auf deleted Feld.

Wann immer Sie eine Bereinigung durchführen müssen, können Sie alle mit deleted gekennzeichneten Datensätze löschen sowohl in PostgreSQL als auch in Elasticsearch.