Created
September 14, 2011 12:32
-
-
Save dscape/1216438 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(:: Configure script for the top-songs application ::) | |
(: forest :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $config := admin:forest-create( | |
$config, | |
"top-songs-01", | |
xdmp:host(), | |
()) | |
return admin:save-configuration($config); | |
(: database :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $config := admin:database-create( | |
$config, | |
"top-songs", | |
xdmp:database("Security"), | |
xdmp:database("Schemas")) | |
return admin:save-configuration($config); | |
(: attach forest to database :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $config := admin:database-attach-forest( | |
$config, | |
xdmp:database("top-songs"), | |
xdmp:forest("top-songs-01")) | |
return admin:save-configuration($config); | |
(: HTTP application server :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $groupid := admin:group-get-id($config, "Default") | |
let $server := admin:http-server-create( | |
$config, | |
$groupid, | |
"8040-top-songs-HTTP", | |
"/application/", | |
8040, | |
admin:database-get-id($config, "top-songs-modules"), | |
admin:database-get-id($config, "top-songs")) | |
return admin:save-configuration($server); | |
(: WebDAV application server :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $groupid := admin:group-get-id($config, "Default") | |
let $server := admin:webdav-server-create( | |
$config, | |
$groupid, | |
"8041-top-songs-WebDAV", | |
"/", | |
8041, | |
admin:database-get-id($config, "top-songs-modules")) | |
return admin:save-configuration($server); | |
(: XDBC application server :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $groupid := admin:group-get-id($config, "Default") | |
let $server := admin:xdbc-server-create( | |
$config, | |
$groupid, | |
"8042-top-songs-XDBC", | |
"/", | |
8042, | |
0, | |
admin:database-get-id($config, "top-songs")) | |
return admin:save-configuration($server); | |
(: URI Lexicon :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $uri-lex := admin:database-set-uri-lexicon($config, xdmp:database("top-songs"), fn:true()) | |
return admin:save-configuration($uri-lex); | |
(: Collection Lexicon :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $collection-lex := admin:database-set-collection-lexicon($config, xdmp:database("top-songs"), fn:true()) | |
return admin:save-configuration($collection-lex); | |
(: Element Range Indexes :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $rangespec := ( | |
admin:database-range-element-index( | |
"date", | |
"http://marklogic.com/MLU/top-songs", | |
"week", | |
"", | |
fn:false() | |
), | |
admin:database-range-element-index( | |
"string", | |
"http://marklogic.com/MLU/top-songs", | |
"genre", | |
"http://marklogic.com/collation/", | |
fn:false() | |
), | |
admin:database-range-element-index( | |
"string", | |
"http://marklogic.com/MLU/top-songs", | |
"genre", | |
"http://marklogic.com/collation/en/S1/AS/T00BB", | |
fn:false() | |
), | |
admin:database-range-element-index( | |
"string", | |
"http://marklogic.com/MLU/top-songs", | |
"artist", | |
"http://marklogic.com/collation/en/S1/AS/T00BB", | |
fn:false() | |
), | |
admin:database-range-element-index( | |
"string", | |
"http://marklogic.com/MLU/top-songs", | |
"title", | |
"http://marklogic.com/collation/en/S1/AS/T00BB", | |
fn:false() | |
) | |
) | |
let $indexes := admin:database-add-range-element-index( | |
$config, | |
admin:database-get-id($config, "top-songs"), | |
$rangespec) | |
return admin:save-configuration($indexes); | |
(: Attribute Range Indexes :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $rangespec := ( | |
admin:database-range-element-attribute-index( | |
"date", | |
"http://marklogic.com/MLU/top-songs", | |
"weeks", | |
"", | |
"last", | |
"", | |
fn:false() | |
) | |
) | |
let $indexes := admin:database-add-range-element-attribute-index( | |
$config, | |
admin:database-get-id($config, "top-songs"), | |
$rangespec) | |
return admin:save-configuration($indexes); | |
(: Word Query - Included Elements :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $wqspec := ( | |
admin:database-included-element( | |
"http://marklogic.com/MLU/top-songs", | |
"artist", | |
4.0, | |
"", | |
"", | |
"" | |
), | |
admin:database-included-element( | |
"http://marklogic.com/MLU/top-songs", | |
"title", | |
4.0, | |
"", | |
"", | |
"" | |
), | |
admin:database-included-element( | |
"http://marklogic.com/MLU/top-songs", | |
"descr", | |
0.75, | |
"", | |
"", | |
"" | |
) | |
) | |
let $wq := admin:database-add-word-query-included-element( | |
$config, | |
admin:database-get-id($config, "top-songs"), | |
$wqspec | |
) | |
return admin:save-configuration($wq); | |
(: Word Query - Excluded Elements :) | |
xquery version "1.0-ml"; | |
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; | |
let $config := admin:get-configuration() | |
let $wqspec := ( | |
admin:database-excluded-element( | |
"http://marklogic.com/MLU/top-songs", | |
"format" | |
), | |
admin:database-excluded-element( | |
"http://marklogic.com/MLU/top-songs", | |
"length" | |
) | |
) | |
let $wq := admin:database-add-word-query-excluded-element( | |
$config, | |
admin:database-get-id($config, "top-songs"), | |
$wqspec | |
) | |
return admin:save-configuration($wq); | |
(: Field :) | |
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("top-songs") | |
let $fieldspec := admin:database-field("creator", fn:false() ) | |
let $field := admin:database-add-field($config, $dbid, $fieldspec) | |
return admin:save-configuration($field); | |
(: Field - Included Elements :) | |
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("top-songs") | |
let $fieldspec := admin:database-included-element("http://marklogic.com/MLU/top-songs", "artist", 1.0, "", "", "") | |
let $field-include := admin:database-add-field-included-element($config, $dbid, "creator", $fieldspec) | |
return admin:save-configuration($field-include); | |
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("top-songs") | |
let $fieldspec := admin:database-included-element("http://marklogic.com/MLU/top-songs", "writer", 1.0, "", "", "") | |
let $field-include := admin:database-add-field-included-element($config, $dbid, "creator", $fieldspec) | |
return admin:save-configuration($field-include); | |
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("top-songs") | |
let $fieldspec := admin:database-included-element("http://marklogic.com/MLU/top-songs", "producer", 1.0, "", "", "") | |
let $field-include := admin:database-add-field-included-element($config, $dbid, "creator", $fieldspec) | |
return admin:save-configuration($field-include); | |
(: Finished :) | |
xquery version "1.0-ml"; | |
"All Done" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment