ADMIN-DUPLICATECONFIGITEM:数据库资源“ hrhub-content”已经内容数据库“ element-attribute-range-index

时间:2019-05-29 09:10:33

标签: marklogic

我正在尝试创建一个脚本,以从配置文件中添加element-attribute-range-index和element -range-index。请在脚本下方找到相同的内容。 我能够通过脚本或通过管理控制台用户界面添加element-range-index,但不能添加element-attribute-range-index。

注意::我已经进行了交叉检查,并且对此没有重复的索引。我是刚刚创建的。仍然面临着同样的问题。

import module namespace admin :="http://marklogic.com/xdmp/admin" 
                                 at "/MarkLogic/admin.xqy"

let $dbid   := xdmp:database("hrhub-content")
let $config :=admin:get-configuration()
let $rangespec:= admin:database-range-element-attribute-index("string","www.aetna.com/hrhub/nm","plocalname","","pname","",fn:false())

return 
 let $new-index  := admin:database-add-range-element-attribute-index($config,$dbid,$rangespec)
return admin:save-configuration-without-restart($new-index)
  

错误消息:ADMIN-DUPLICATECONFIGITEM:(ERR:FOER0000)数据库   资源“ hrhub-content”已经是内容数据库“ element-   属性范围索引”

2 个答案:

答案 0 :(得分:1)

您的脚本包含一些语法错误。我已经尝试过以下方法,并且对我有用:

import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";

let $dbid   := xdmp:database("hrhub-content")
let $config := admin:get-configuration()
let $rangespec:= admin:database-range-element-attribute-index("string", "www.aetna.com/hrhub/nm", "plocalname", "", "pname", "http://marklogic.com/collation/", fn:false())

return 
 let $new-index := admin:database-add-range-element-attribute-index($config,$dbid,$rangespec)
 return admin:save-configuration-without-restart($new-index)

我已更改的内容:

  • 导入将:=更改为仅=
  • 导入最后需要一个;
  • 如果标量类型为“字符串”,
  • admin:database-range-element-attribute-index需要排序规则。

答案 1 :(得分:0)

我刚刚尝试了Wagner粘贴的代码,唯一的改变是

let $dbid := xdmp:database("*Documents*")

成功了。当我重新运行代码时,我得到的错误是您看到ADMIN-DUPLICATECONFIGITEM,这是有道理的,因为该索引已经存在。您可能要通过以下代码检查索引是否存在-

xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";

let $dbid   := xdmp:database("Documents")
let $config := admin:get-configuration()

return admin:database-get-range-element-attribute-indexes(
   $config,
   $dbid)