2014-09-12 54 views
0

我一直在爲我的Marklogic 6 REST服務器實例添加一些搜索約束條件。爲REST服務器使用數據庫模塊時,可以看到包含數據庫URL的XML配置文件(例如/15946974354972814010/rest-api/options/sgd-identifier.xml)。Marklogic:文件系統上的REST查詢選項文件位置

當我將REST服務器的模塊從數據庫移動到文件系統時,我無法再訪問sgd-identifier.xml或default.xml文件,這是合理的,因爲數據庫不再使用。所以我想我必須將這些文件複製到我的文件系統中的文件夾。

但我無法實現。我一直在嘗試把default.xml放在各種文件夾中,包括創建一個rest-api/options文件夾。它不會被拾起。這是不可能的嗎?

更新:現在我明白,這是不可能的。如果Marklogic改進錯誤消息和/或文檔,因爲在向服務器執行curl上傳時發生http 500錯誤並不是真的有幫助,那將會很好。我會接受戴維·卡塞爾的答案,甚至認爲grtjn通過製造也幫助了它更清楚一點 - 不能同時接受...

回答

1

docs

您還可以創建自定義查詢選項。在使用一組 自定義查詢選項之前,必須使用 /config/query/{name}將它們安裝爲命名選項。

通過REST API安裝選項會將它們放到模塊數據庫中,但如果您已經設置爲使用您的模塊的文件系統,那麼這將不起作用。

+0

我試着把default.xml放到{filesystem-root}/config/query /中,但它不起作用。 – 2014-09-12 12:01:25

+0

/config/query/{name}是用來安裝選項的REST API端點,而不是它們最終的位置。你最好的選擇是使用模塊數據庫 - 這是使用REST API時的預期操作模式。正如grtjn指出的那樣,你可以通過查看REST API將文件放在模塊數據庫中的位置,然後在文件系統上執行該操作來僞造它,但我鼓勵你堅持使用模塊數據庫。 – 2014-09-12 13:29:24

0

Dave說得對,安裝REST API選項,擴展和轉換不適用於針對從文件系統運行的應用程序服務器。如果你堅持,你需要模仿將這些工件安裝到適當位置的過程。最先發現數據庫的最簡單方法是首先對數據庫執行操作,然後研究數據庫以查看它在數據庫中的位置和形狀,並在文件系統上執行相同的操作。

它也值得考慮使用一個部署工具,可以很容易地運行模塊數據庫。比如Roxy ..

HTH!