Configuring an SRU Server

SRU, or Search and Retrieval via URL (, represents an alternative to Z39.50.  It provides a searchable method over HTTP to return different metadata serializations.

Configuring SRU isn’t always as straightforward as setting up a server to work with Z39.50.  While Z39.50 utilizes a standard set of search and retrieval protocols, most SRU implementations do not.  Most SRU implementations will utilize their own Searching Profiles — and in order for MarcEdit to know how to work with a particular server, you must define the profile.  This means that setting up an SRU server may require significant knowledge not only of how the protocol works, but how your individual SRU server is configured.

Configuration Options

Name:  This is the public name that will be visible in the User Interface

URL:  SRU is URL based.  The URL should be all the information up to the ?.
Alma Example (Thank you Orbis-Cascades):

URL would be configured as:

Version: SRU search profiles are versioned.  Some will only return data if this value is correct.

Metadata Schema: What format should the data be returned in?  Not all profiles MarcEdit supports, maybe supported by your SRU server.

Search Profile:

The Search profile is the area where users will likely need the most help.  By default, MarcEdit supports three standard profiles.  These profiles define for MarcEdit how a title, author, subject, and record number search will work on the server.  The problem is that most SRU servers don’t support these standard profiles, but implement their own.  Let’s look at an Alma example:  Alma utilizes their own search profile, which uses an alma namespace.  To know how this namespace is utilized, you have to read the server Explain response:

MarcEdit defines the following searches:

Record Number

In order to use these in MarcEdit with SRU using a custom profile, you must map these elements to your custom profile.  To simplify the custom profiling process, MarcEdit will provides and structure of each of these indexes.  If you do not define an index, it will not be usable when querying data.

Note, RAW data assumes that you will enter an HTML encoded search, that can leverage any index available on your SRU server.

Additional Parameters:

Sometimes servers implement their own arguments (usernames and passwords, etc.).  This is where you would enter additional query arguments that might be necessary for use with your SRU instance.