$Id: README,v 1.18 2007-03-29 17:13:23 mike Exp $ What's what in this directory: README -- This file yazserver.xml -- The primary configuration file that controls how Zebra runs (as a YAZ GFS application) in order to serve the ZeeRex database. This specifies where to find this database's own ZeeRex record (zeerex.xml), the configuration for translating CQL queries into Z39.50 Type-1 (pqf.properties), and the Zebra-specific configuration (zebra.cfg). zeerex.xml -- The static ZeeRex record for this database of ZeeRex records. It describes what a ZeeRex database looks like, and how it behaves. (Life would be better if Zebra could at least partially work this out for itself, but for now we have to go the long way round.) zeerex-2.0.xsd -- The XML Schema describing ZeeRex records, as downloaded from the official ZeeRex site at: http://explain.z3950.org/dtd/zeerex-2.0.xsd Originally, this was used to validate both our own static ZeeRex record and the records created by IRSpy, using: xmllint --noout --schema zeerex-2.0.xsd zeerex.xml However, it can no longer be used for this purpose, as the records now carry IRSpy-specific extensions that the schema does not understand. Eventually a new schema (most likely in Relax NG Compact format) will be created for validation of the extendd records. pqf.properties -- The specification for how CQL queries are translated into 39.50 Type-1 queries. This file is identical to the one supplied in the YAZ distribution: we'd just use that if there was a reliable way to discover where it is. ezeerex2pqfproperties.pl -- An in-progress script to automatically generate the pqf.properties file from an extended ZeeRex record. Not yet in use. A Makefile controls the use of this script to generate "terse.properties", which may be, but is not, used in place of "pqf.properties". zebra.cfg -- Zebra-specific configuration, including the location of the register files, the location of the XSLT filter configuration (filterconf.xml), etc. htpasswd -- Password file for the "admin" user who has permission to update the database remotely. filterconf.xml -- Configuration of Zebra's XSLT filter, which uses XSLT stylesheets to identify the indexable data in incoming files and to transform records for presentation. zeerex2index.xsl -- The indexing stylesheet for ZeeRex records. It's possible to check what indexer will see as follows: xsltproc zeerex2index.xsl zeerex.xml zeerex2zeerex.xsl -- The "no-op" stylesheet for presenting ZeeRex records. zeerex2dc.xsl -- A stylesheet for presenting Dublin Core records. zeerex2id.xsl -- A trivial stylesheet that just yields the record identifier (not as an XML document). profile -- Notes on the indexes in the ZeeRex profile, with indications of whether they are yet supported by the Zebra configuration in this directory. records -- A subdirectory containing ZeeRex records to be added to the database. These were harvested from Index Data's existing target-test database using scp -r bagel.indexdata.dk:/home/perhans/targettest/xml records processed to add the missing namespace, and archived into a single file records.tar.gz, which needs to be unpacked: tar xfz records.tar.gz db -- A subdirectory containing the actual database: register files, dictionaries and suchlike. form.html -- A simple HTML search form that submits SRU queries to a server running on local port 8018. init-script -- A startup/shutdown script for controlling the zebra server according to "System V init" rules. Instructions can be found in the script itself. crontab -- An example file that can be used to automate periodic running of a test or tests. This can be installed using: sudo crontab crontab But you probably want to edit it first. -- To create the database and start the server: zebraidx-2.0 init # Remove any existing database records zebraidx-2.0 update records2 # The many records harvested from Index Data zebraidx-2.0 update records3 # Extra records supplied by Per zebraidx-2.0 commit zebrasrv-2.0 -f yazserver.xml To run all these commands, use: sed -n '/^zebraidx/,+3p' README | while read line; do eval $line; done Then interrogate the database with SRU URLs such as: http://localhost:8018/IR-Explain---1?version=1.1&operation=searchRetrieve&maximumRecords=10&recordSchema=zeerex&query=net.protocol=sru