SRU

SRU Implementation

We now have an implementation of the SRU protocol, which you can read more about at: http://www.loc.gov/standards/sru/.

We have implemented two of the SRU operations-- explain and searchRetrieve. We are supporting level 0 of the Common Query Language, which performs a keyword search. We hope to add more specific fielded searches some time in the future. Our SRU implementation can be used to search all our BibClass collections.

SRU Operations

explain

This operation describes your repository.

Examples:
http://quod.lib.umich.edu/cgi/s/sru/sru?operation=explain
http://quod.lib.umich.edu/cgi/s/sru/sru?operation

searchRetrieve

This verb is used to search and retrieve records from your repository. The records are returned in BibClass format.

Example 1: will search our default collection OAIster and retrieve the number of records with the keyword "law"
http://quod.lib.umich.edu/cgi/s/sru/sru?operation=searchRetrieve&query=law

Example 2: will search the collection requested
http://quod.lib.umich.edu/cgi/s/sru/sru?operation=searchRetrieve&query=law&x-collid=oaister

Example 3: will start retrieving all the "law" records
http://quod.lib.umich.edu/cgi/s/sru/sru?operation=searchRetrieve&query=law&x-collid=oaister&startRecord=1&maximumRecords=4

Installing SRU

1. There are a series of parameters that are configured during the installation of DLXS. These parameters live in the /$DLXSROOT/cgi/s/sru/sru.cfg file. If after installation you need to change any of these parameters, you can make the changes to this file directly, or you can run the install script again. The install script will remember the entries you made previously.

The parameters are the following:

2. Naturally, you'll need to have repository records that have been prepared and indexed in BibClass.

3. Verify that the /$DLXSROOT/local/apache/conf/httpd.conf file contains the following lines:

<Directory "$DLXSROOT/cgi/s/SRU">
SetEnv AUTHZD_COLL ":samplebc:"
SetEnv PUBLIC_COLL ":"
</Directory>

This will give SRU access to the sample BibClass collection, samplebc. Enter the value of $DLXSROOT, don't leave it as "$DLXSROOT". You will want to list all the BibClass collections as you make them available, so that SRU will have access to them.