与えられたデータベースのすべての要素範囲インデックスを簡単に削除する方法はありますか?Marklogic:データベース上のすべての要素範囲インデックスを削除しますか?
おかげ
あなたはあなたのクエリのコンソールから実行する必要がJavaScriptで、たとえば、これを行うには、いくつかのスクリプトを書くことができ与えられたデータベースのすべての要素範囲インデックスを簡単に削除する方法はありますか?Marklogic:データベース上のすべての要素範囲インデックスを削除しますか?
おかげ
あなたはあなたのクエリのコンソールから実行する必要が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のための事前に定義されたRange Indexesを含む「Documents」データベースを削除します。
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の解決法にも当てはまると思いますが、確認しませんでした。
P.S.これはプロパティ名のタイプミスではありません。これはXMLでは複数形で、JSONは単数形です。 – kcoleman
可能であれば、常にManage APIを試してください(ここではうまくいくでしょう)。 「管理者」の役割を持つユーザーではなく、より限定された「管理者」の役割を持つユーザーを必要とせず、お気に入りのHTTPクライアントを使用して作業を行うことができます。 – rjrudin