Ostatecznie chcę mieć skalowalne rozwiązanie do wyszukiwania danych w PostgreSql. Moje odkrycie wskazuje na to, że używam Logstash do wysyłania zdarzeń zapisu z Postgres do ElasticSearch, jednak nie znalazłem użytecznego rozwiązania. Rozwiązania, które znalazłem, wymagają użycia danych wejściowych jdbc do zapytania wszystkich danych z Postgres w przedziale, a zdarzenia usuwania nie są przechwytywane.Synchronizuj dane postgreSql z ElasticSearch
Myślę, że jest to powszechny przypadek użycia, więc mam nadzieję, że możecie podzielić się ze mną swoim doświadczeniem lub dać mi wskazówki, aby kontynuować.
Ta odpowiedź może być pomocna (pod koniec, w którym wspomnę o rozwiązaniach bin/Go w języku Python): http://stackoverflow.com/questions/34477095/elasticsearch-replication-of-other-system-data/34477639#34477639 – Val
Dziękuję Val za wskazówkę. Znalazłem ten post przed zadaniem tego pytania. Jednak myślę, że teraz mogę użyć input-jdbc i wykonać trochę dodatkowej pracy, aby poradzić sobie z usuniętymi danymi. Czy wiesz, jak skonfigurować Logstash do przechwytywania zdarzeń z Postgres? – Khanetor
Uhm ... Myślę, że aby obejść problem DELETE, nigdy nie skasowałbym żadnego rekordu w mojej głównej bazie danych, i po prostu oznaczam te rekordy jako "usunięte", a zostanie to odzwierciedlone w ElasticSearch. Kiedy mam ochotę usuwać rzeczy, ustawiłem harmonogram usuwania zarówno w głównej bazie danych, jak i ES, aby usunąć wszystko z usuniętym znakiem. – Khanetor