Zebra Server - Administrators's Guide and Reference: Introduction

Next Previous Contents

## 1. Introduction

## 1.1 Overview

Zebra is a fielded free-text indexing and retrieval engine with a Z39.50 frontend. You can use any commercial or freeware Z39.50 client to access data stored in Zebra.

Zebra server can be used at the core of a Z39.50-based information retrieval framework. We're making the server available now to allow researchers and small organisations to share their information in the best possible way. We believe that Z39.50 currently represents one of the best ways of sharing information with others, and we would like to encourage as many people as possible to do so. This document is a guide to using Zebra. It will tell you how to compile the software, and how to prepare your first database. It also explains how the server can be configured to give you the functionality that you need.

If you find the software interesting, you should join the support mailing-list by sending email to `zebra-request@indexdata.dk`.

If you are interested in running a commercial service, if you wish to run large databases, or if you wish to make incremental updates to your databases even while users are accessing your system, then you might be interested in the Z'mbol Information Server which is available from Index Data or Fretwell-Downing Informatics. Z'mbol is a complete and supported package which offers many exciting possibilities that we have not been able to fit into this package.

## 1.2 Features

This is a list of some of the most important features of the system.

- Supports arbitrarily complex records - base input format is an XML-like syntax which allows nested (structured) data elements, as well as variant forms of data.
- Supports random storage formats. A system of input filters driven by regular expressions allows you to easily process most ASCII-based data formats. SGML/XML, ISO2709 (MARC), and raw text are also supported.
- Supports boolean queries as well as relevance-ranking (free-text) searching. Right truncation and masking in terms are supported, as well as full regular expressions.
- Supports multiple concrete syntaxes for record exchange (depending on the configuration): GRS-1, SUTRS, ISO2709 (*MARC), XML. Records can be mapped between record syntaxes and schema on the fly.
- Supports approximate matching in registers (ie. spelling mistakes, etc).
- Supports a subset of the Z39.50 Explain Facility. Zebra's Explain database is automatically updated when a set of records is loaded into Zebra.

Protocol support:

- Protocol facilities: Init, Search, Retrieve, Browse, Sort, Close, and Explain.
- Piggy-backed presents are honored in the search-request.
- Named result sets are supported.
- Easily configured to support different application profiles, with tables for attribute sets, tag sets, and abstract syntaxes. Additional tables control facilities such as element mappings to different schema (eg., GILS-to-USMARC).
- Complex composition specifications using Espec-1 are partially supported (simple element requests only).
- Element Set Names are defined using the Espec-1 capability of the system, and are given in configuration files as simple element requests (and possibly variant requests).
- Zebra runs on most Unix-like systems as well as Windows NT - a binary distribution for Windows NT is forthcoming - so far, the installation requires Microsoft Visual C++ to compile the system (we use version 6.0).

## 1.3 Future Work

These are some of the plans that we have for the software in the near and far future, approximately ordered after their relative importance. Items marked with an asterisk will be implemented before the last beta release.

- *Complete the support for variants.
- *Finalize the data element include facility to support multimedia data elements in records.
- Add more sophisticated relevance ranking mechanisms. Add support for soundex and stemming. Add relevance feedback support.
- Complete EXPLAIN support.
- We want to add a management system that allows you to control your databases and configuration tables from a graphical interface. We'll probably use Tcl/Tk to stay platform-independent.

Programmers thrive on user feedback. If you are interested in a facility that you don't see mentioned here, or if there's something you think we could do better, please drop us a mail. If you think it's all really neat, you're welcome to drop us a line saying that, too. You'll find contact info at the end of this file.

Next Previous Contents