2017-08-02 8 views

答えて

1

'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のための事前に定義されたRange Indexesを含む「Documents」データベースを削除します。

1

REST管理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の解決法にも当てはまると思いますが、確認しませんでした。

+0

P.S.これはプロパティ名のタイプミスではありません。これはXMLでは複数形で、JSONは単数形です。 – kcoleman

+0

可能であれば、常にManage APIを試してください(ここではうまくいくでしょう)。 「管理者」の役割を持つユーザーではなく、より限定された「管理者」の役割を持つユーザーを必要とせず、お気に入りのHTTPクライアントを使用して作業を行うことができます。 – rjrudin

関連する問題