
Apply changes to the configuration of the server specified by a request payload that declares chained and nested calls to the Admin API.
Upon success, MarkLogic Server responds with a 200 (OK) status and any output from the Admin API calls, setting the Content-Type response header as follows:
application/json for a JSON object, JSON array, map, or array valueapplication/xml for an XML element valuetext/plain for a text node or atomic valuetext/plain with texte identifying the run timestamp for no valuemanage-user role (either directly or through inheritance
as with the manage role) or the http://marklogic.com/xdmp/privileges/manage
privilege.
In addition, the functions of the Admin API require additional privileges that are specific to those functions.
/v1/config/server endpoint accepts a request payload that declares calls
to the Admin API functions. The payload can be provided either
as an AST (Abstract Syntax Tree) in JSON syntax or as a DSL (Domain Specific Language) in JavaScript syntax.
Any output from processing the declaration is returned as the response payload.
The Config DSL provides a declaration of configuration for editing by people.
The Config AST provides a declaration of configuration for generation and manipulation by scripts, tools, and APIs.
For more information about the Admin API, see Using the Admin API in the Scripting Administrative Tasks Guide.
$ cat ./configdsl.js
const db = xdmp.database('Documents');
$a.databaseSetFastCaseSensitiveSearches(db, true)
.databaseSetFastDiacriticSensitiveSearches(db, true)
.databaseSetFastPhraseSearches(db, false)
.saveConfiguration();
$ curl --anyauth --user user:password -X POST -d@'./configdsl.js' -i \
-H "Content-Type: application/vnd.marklogic.configdsl+javascript" \
http://localhost:8000/v1/config/server
==> MarkLogic Server changes the search configuration for the Documents database.
HTTP/1.1 200 OK
Content-type: text/plain; charset=utf-8
Server: MarkLogic
Content-Length: 47
Connection: Keep-Alive
Keep-Alive: timeout=5
script run on 2022-02-14T10:54:26.612834-08:00
$ cat ./configast.json
{"$config":[
{"ns":"op", "fn":"constdefs", "args":[
{"name":"db", "value":{"ns":"xdmp", "fn":"database", "args":["Documents"]}},
{"name":"cfg", "value":{"ns":"admin", "fn":"get-configuration", "args":[]}},
{"name":"out", "value":{"ns":"map", "fn":"entry", "args":[
"phrase",
{"ns":"admin", "fn":"database-get-fast-phrase-searches", "args":[
{"ns":"op", "fn":"constref", "args":["cfg"]},
{"ns":"op", "fn":"constref", "args":["db"]}
]}
]}}
]},
{"ns":"op", "fn":"constref", "args":["out"]}
]}
$ curl --anyauth --user user:password -X POST -d@'./configast.json' -i \
-H "Content-Type: application/json" \
http://localhost:8000/v1/config/server
==> MarkLogic Server reads the search configuration for the Documents database.
HTTP/1.1 200 OK
Content-type: application/json; charset=utf-8
Server: MarkLogic
Content-Length: 16
Connection: Keep-Alive
Keep-Alive: timeout=5
{"phrase":false}
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.