簡體   English   中英

JAVA spring(JPA)中的PostgreSQL + Elasticsearch同步

[英]PostgreSQL + Elasticsearch synchronization in JAVA spring (JPA)

我們使用JAVA Spring(JPA)並在應用程序中編寫,修改和刪除PostgreSQL中的數據。

如何在PostgreSQL和Elasticsearch之間同步數據? 因此,他們將擁有相同的數據。

我假設您使用PosgreSQL作為主存儲來存儲您的數據,並假設Elasticsearch作為輔​​助存儲來索引來自PosgreSQL的數據以進行搜索。

我建議Logstash是最好的選擇。 您將創建一個連接PosgreSQL和elasticsearch的配置文件。 使用JDBC輸入插件和elasticsearch輸出插件,並使用該配置文件運行Logstash。 每個文檔都將從那里開始同步。

您還有其他一些選擇:

批處理同步 :編寫應用程序/腳本(perl / python)以從PosgreSQL中提取數據以索引到Elasticsearch。 您可以安排此作業在您希望的特定時間執行。

實時同步 :在您成功將記錄插入/更新到PostgreSQL之后,您在同一API中發送請求以將此記錄索引/更新到Elasticsearch。

我同意Vijay的一般方法。

基本上,您可以使用Logstash來記錄PostgreSQL數據,方法是使用Logstash中的pgjdbc驅動程序(簡單.jar)直接連接到PostgreSQL,並使用logstash.conf編寫SQL查詢以從PostgreSQL中獲取數據。

我最近寫了一篇關於Spring Boot + PostgreSQL和ELK堆棧的綜合指南,以及如何在Towards Data Science中設置(包括一個示例項目的GitHub repo鏈接),你可以在這里找到: https:// towardsdatascience。 COM / A-旅行者引導至彈簧引導elasticsearch-logstash-kibana-的PostgreSQL和-搬運工-5602feaa9fd3

我希望它能幫助每個人使用這個堆棧(即使你不使用Spring Boot而只使用Spring)

如果你不想閱讀這篇文章,這里有一個直接鏈接到GitHub: https//github.com/tech4242/spring-elastic-genie

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM