Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

XQuery/Reindex a Collection

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

Motivation You would like a command line function that will reindex a collection. Method We will use an Apache Ant task that will call an XQuery script that will run the reindex XQuery function. Sample Ant Target <target name="reindex-faqs"> <property name="server-uri" value="xmldb:exist://localhost:8080/xmlrpc"/> <property name="collection" value="/db/dan/apps/faqs/data"/> <echo message="Reindexing collection ${collection}"/> <echo message="on server-uri = ${server-uri}"/> <xdb:xquery uri="${server-uri}/db" user="admin" password="myadminpw" outputproperty="result"> xquery version "1.0"; let $start-time := util:system-time() let $reindex := xmldb:reindex('/db/dan/apps/faqs/data') let $end-time := util:system-time() let $runtimems := (($end-time - $start-time) div xs:dayTimeDuration('PT1S')) * 1000 return $runtimems </xdb:xquery> <echo message="Reindex performed in = ${result} milliseconds."/> </target> Running your Ant Target To run the command just use the ant command $ant reindex-faqs Buildfile: build.xml reindex-faqs: [echo] Reindexing collection /db/dan/apps/faqs/data [echo] test server = xmldb:exist://localhost/xmlrpc [xdb:xquery] Database driver registered. [xdb:xquery] Found 1 results [echo] Reindex performed in = 203 milliseconds. BUILD SUCCESSFUL Total time: 1 second Discussion This should work both under Windows and UNIX systems.