1
A
回答
1
你可以寫一些腳本來做到這一點,例如在JavaScript中,你需要從你的查詢控制檯執行:
'use strict';
const admin = require('/MarkLogic/admin');
const config = admin.getConfiguration();
const db = xdmp.database('Documents');
const indexes = admin.databaseGetRangeElementIndexes(config, db);
const newConfig = admin.databaseDeleteRangeElementIndex(config, db, indexes);
admin.saveConfiguration(newConfig);
'All Range Indexes have been removed.'
以上通過所有要素範圍指標的推移'文檔'數據庫並將其刪除 - 包括任何預定義的DLS範圍索引。
1
我相信你可以使用REST Management API方法PUT /manage/v2/databases/{dbid}/properties
來做到這一點。如果您通過range-element-indexes
屬性爲空的有效載荷,我認爲它會刪除任何現有的屬性。
看看以下內容:
http://docs.marklogic.com/REST/PUT/manage/v2/databases/[id-or-name]/properties
你想使用類似於XML以下的有效載荷:
<database-properties xmlns="http://marklogic.com/manage">
<range-element-indexes/>
</database-properties>
或者像這樣JSON:
{ "range-element-index": [] }
但要小心:這是一個尖銳的工具。您還將刪除預定義的索引,如DLS的索引。我認爲Tamas的解決方案也是如此,但沒有證實。
相關問題
- 1. 刪除索引函數刪除索引前的所有元素
- 2. Marklogic:元素範圍索引VS元素詞詞典
- 3. Marklogic屬性範圍索引範圍
- 4. 刪除marklogic中未使用的路徑範圍索引
- 5. 在陣列中刪除元素,索引超出範圍(Matlab的)
- 6. 刪除所有元素,除了從給定的索引號
- 7. ng-repeat - 範圍內元素的索引
- 8. 從QHash中刪除元素的範圍
- 9. 刪除範圍列表中的元素
- 10. 刪除特定數據庫的所有索引
- 11. 刪除超出範圍的上層數組元素php
- 12. 根據時間範圍刪除HBase表中的所有數據?
- 13. 索引超出範圍但刪除
- 14. sqlalchemy刪除索引超出範圍
- 15. 索引超出範圍時刪除
- 16. 索引超出範圍大列表,除非最後元素被刪除
- 17. 刪除元素不在範圍內
- 18. Python中,刪除所有元素的索引列表>ň
- 19. 在特定索引後刪除List中的所有元素
- 20. 刪除數組上的索引上的元素AngularJS
- 21. 按索引刪除數組元素
- 22. Git刪除所有刪除的元素
- 23. 如何從SQL服務器數據庫中刪除所有數據庫索引
- 24. jQuery刪除所有元素?
- 25. 從列表中刪除元素時出現錯誤「索引超出範圍」
- 26. 彈性搜索我可以刪除所有數據的索引
- 27. 刪除給定索引的子元素?
- 28. 刪除索引處的列表元素?
- 29. 在editText中點擊其刪除按鈕刪除元素範圍
- 30. AngularJS刪除數組的最後一個元素的範圍
P.S.這不是屬性名稱中的拼寫錯誤:它是XML中的複數,單數是JSON。 – kcoleman
儘可能地嘗試管理API(它肯定會在這裏工作)。它不需要具有「管理員」角色的用戶,而是更有限的「管理 - 管理員」角色,並且您可以通過您最喜歡的HTTP客戶端完成任務。 – rjrudin