Уведомление postgres об изменениях в java-приложении

ProblemI»

м строитбаза данных postgres за несколько сотен тысяч продуктов. я будунастроить индекс (Solr или, возможно, ElasticSearch) улучшить время запроса для сложных поисковых запросов.

Вопрос в том, как синхронизировать индекс с базой данных?

В прошломУ меня было какое-то приложение, которое периодически опрашивало базу данных для проверки обновлений это должно быть сделано, но я быустаревшее время состояния индекса (от обновления базы данных до извлечения обновления индекса).

Я бы предпочел решение, в котором база данных уведомит мою заявку (Java-приложение), что что-то было изменено в базе данных, и в этот момент приложение будет решать, нужно ли обновлять индекс или нет. Чтобы быть более точным, я бы построил некую структуру производителя и потребителя, чтобы реплика получала уведомления от postgres о том, что что-то изменилось, если это относится к индексированным данным, которые хранятся в стеке обновлений для работы. Потребитель будет использовать этот стек и создавать документы для хранения в индексе.

Возможные решения

Одним из решений было бы написать своего рода конечную точку реплики в котором приложение будет вести себя как экземпляр postgres, который используется для репликации данных из исходной базы данных. Есть ли у кого-то опыт такого подхода?

Какое другое решение у меня есть для этой проблемы?

Ответы на вопрос(3)

Ваш ответ на вопрос