亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

異步構建 Hibernate Search 索引以確保不停機。

異步構建 Hibernate Search 索引以確保不停機。

DIEA 2021-06-09 14:15:39
我們正在使用 Hibernate Search(Lucene 引擎)來啟用對文本的模糊搜索,我們存儲在 SQL Server 數據庫中并由用 Java 8 編寫的搜索服務使用的一些數據。搜索的數據源是一個具有中等編輯/更新頻率的表. 我們需要的是,對于重建索引時所做的任何更改,我們希望確保搜索功能仍在運行且可訪問,而不是被正在構建的索引過程鎖定。簡而言之,如何在構建新索引時臨時使用現有索引并在完成時替換它。
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

不是您問題的答案,但無論如何都可以幫助您:根據我在您的評論中的理解,您實際上并不需要完全重建索引,您只需要從與執行該應用程序的應用程序不同的位置獲取更新事件搜索查詢。

如果您的“更新”應用程序使用 Hibernate ORM,您可以在不完全重建索引的情況下解決問題:在“更新”應用程序中自動增量地構建索引(在“自動索引”模式下使用 Hibernate 搜索,無需進行任何查詢),并確保索引可用于“搜索”應用程序。

后者可以通過以下任一方式實現:

  • 通過使用實驗性Elasticsearch 集成并將兩個應用程序連接到同一個集群:一個將更新它,另一個將使用它進行搜索。

  • 或者通過使用 Lucene 與filesystem-master/filesystem-slave 目錄提供程序的集成,這將允許您定期(并且無需停機)將索引從“更新”應用程序(主)復制到“搜索”應用程序(從)。請注意,如果多個應用程序更新索引,您將需要使用JMS 或 JGroups 后端將所有索引更新重定向到主節點并避免沖突。請注意,配置 JMS 或 JGroups 不會很明顯。


查看完整回答
反對 回復 2021-06-23
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號