admin:database-add-range-path-index( $config as element(configuration), $database-id as xs:unsignedLong, $range-indexes as element(db:range-path-index)* ) as element(configuration)
This function adds a range path index to the specified database in the configuration.
http://marklogic.com/xdmp/privileges/admin/database
http://marklogic.com/xdmp/privileges/admin/database/{id}
http://marklogic.com/xdmp/privileges/admin/database/index
http://marklogic.com/xdmp/privileges/admin/database/index/{id}
xquery version "1.0-ml"; import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; let $config := admin:get-configuration() let $dbid := xdmp:database("Documents") let $pathspec := admin:database-range-path-index( $dbid, "string", "/a/b/c", "http://marklogic.com/collation/", fn:false(), "ignore") return admin:database-add-range-path-index($config, $dbid, $pathspec) (: returns the new configuration element -- use admin:save-configuration to save the changes to the configuration or pass the configuration to other Admin API functions to make other changes. :)
xquery version "1.0-ml"; (: This is like the previous example, but adds a path-namespace which is used in the path specification. :) import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; let $config := admin:get-configuration() let $dbid := xdmp:database("Documents") let $ns := admin:database-path-namespace("foo", "foo") let $config := admin:database-add-path-namespace($config, $dbid, $ns) let $pathspec := admin:database-range-path-index( $dbid, "string", "/a/foo:b/c", "http://marklogic.com/collation/", fn:false(), "ignore") return admin:database-add-range-path-index($config, $dbid, $pathspec) (: returns the new configuration element -- use admin:save-configuration to save the changes to the configuration or pass the configuration to other Admin API functions to make other changes. :)