Using the Z39.50 Client in Greenstone

Table of Contents
About: What is Z39.50?
Configuring Greenstone - Adding Servers
Currently known problems, and TODO list
Contacting Us

What is Z39.50?

Z39.50 is an international client/server protocol for searching bibliographic data. It can use the Internet Protocol (TCP/IP), which makes the databases on a server available from almost anywhere around the globe. It is widely used, for example, in on-line library catalogues. It allows a user to search one or more databases and retrieve the results of the query.

Our implementation uses the YAZ z39.50 toolkit, written by Index Data.

Adding Servers

The file z3950.cfg in the etc/recpt directory contains entries for each server. By default, no servers are set up, although the config file comes with two (commented out) example Z39.50 servers, both for servers of the United States' Library of Congress.

Each entry consists of:

The entries need only be separated by whitespace, but for the purposes of clarity the sample entry uses newlines and tabs.

The sample Library of Congress entry looks like this:

        "Library of Congress z39.50 server"
        About  en  "This is the z39.50 interface to the US LoC catalogue
           system. It contains approximately 12 million bibliographic records.
           For server capabilities, look at
	   <a href=\"\">their web pages</a>."
There is a list at the Library Of Congress website containing some servers publicly available for testing.

Known Problems/Issues and Todo list

Note - a more up-to-date list (and possibly even fixes...) may be available on the main website at History
Oct 2000 - cache results from server, so cut down the number of connections for a single query/document. Also added href for MARC field 856.
Aug 2000 - Various bug fixes and minor modifications.
Fri Aug 4 2000 - The z39.50 code is now "stable" in the main source code (in CVS).
Tue 1 Aug 2000 - selecting a field from the drop-down box now actually works. This results in both quicker replies and more accurate results.
Mon 24 Jul 2000 - queries are now "AND"ed - for example, the query "computer science" will now only return records that contain both words.
May-June 2000 - Code written.

Contact Details

For general comments about Greenstone, or suggestions for improvements, send email to

For bug reports or questions about the z39.50 code itself, send email to the author, John McPherson - (I am currently at the University of Waikato until June 2001)

Back to top

Last modified: October 27, 2000 by John McPherson