在Marklogic數據庫文件批量修補我有幾個JSON文檔象下面這樣: -使用Java客戶端API
{ 狀態:TO_BE_REPORTED, 日期:2017年11月11日 .... }
我想通過僅將狀態字段值從TO_BE_REPORTED替換爲REPORTED來更新或修補文檔,並且希望執行批量更新,因爲我擁有數千個文檔。我正在使用DocumentPatchBuilder,但它不支持批量更新。
另一方面,我可以看到Marklogic有幾個使用docManager.newWriteSet進行批量寫入的概念,然後向其添加文檔,但它不支持文檔修補?
我還有其他的事情可以嘗試嗎?
正確的,ApplyTransformListener將允許QueryBatcher針對所有匹配查詢的文檔或Iterator提供的uris應用服務器端轉換。你可以很容易地創建一個PatchListener,在QueryBatcher提供的每個uri上應用一個補丁。如你所注意的,這將需要更長的時間,因爲沒有批量呼叫。但是代碼不應太難編寫和維護。 QueryBatcher將在多個線程中處理這些文檔,所以它的運行速度要比等效的for-loop快得多。 –