<!doctype linuxdoc system>
<!--
- $Id: zebra.sgml,v 1.5 1995-11-28 16:34:43 quinn Exp $
+ $Id: zebra.sgml,v 1.11 1995-12-13 17:14:00 quinn Exp $
-->
<article>
<title>Zebra Server - Administrators's Guide and Reference
<author>Index Data, <tt/info@index.ping.dk/
-<date>$Revision: 1.5 $
+<date>$Revision: 1.11 $
<abstract>
The Zebra information server combines a versatile fielded/free-text
search engine with a Z39.50-1995 frontend to provide a powerful and flexible
records are formatted, and how you can configure Zebra to handle
different types of Z39.50 application profiles.
+If you are interested in using the software, you should join the support
+mailing-list by sending Email to <tt/zebra-request@index.ping.dk/.
+
<sect1>Features
<p>
<item>
Supports updating - records can be added and deleted without
-rebuilding the index.
+rebuilding the index from scratch.
+The update procedure is tolerant to crashes or hard interrupts
+during register updating - registers can be reconstructed following a crash.
+Registers can be safely updated even while users are accessing the server.
<item>
Supports large databases - files for indices, etc. can be
supported (simple element requests only).
<item>
-Element Set Names are established the Espec-1 capability of the
+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).
<sect1>Future Work
<p>
-This is an early alfa-release of the software, to allow you to look at
+This is an alfa-release of the software, to allow you to look at
it - try it out, and assess whether it can be of use to you. We expect
this version to be followed by a succession of beta-releases until we
arrive at a stable first version.
<itemize>
<item>
-*Allow the system to handle additional input formats. Specifically
+*Allow the system to handle other input formats. Specifically
MARC records and general, structured ASCII records (such as mail/news
files) parameterized by regular expressions.
*Port the system to Windows NT.
<item>
-Add robust database updating - tolerant to crashes or hard interrupts
-during register updating.
-
-<item>
-Add online updating, to permit register updating while users are
-accessing the system.
-
-<item>
Add index and data compression to save disk space.
<item>
Add Explain support.
<item>
-Add support for very large records by implementing segmentation and
+Add support for very large records by implementing segmentation and/or
variant pieces.
<item>
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 of course welcome to drop us a line saying that, too.
+
<sect>Introduction
<sect>Compiling the software
server system — GNU C works fine.
Unpack the Zebra software. You might put Zebra in the same directory level
-as YAZ, for example if YAZ is placed in ..<tt>/src/yaz-</tt>.., then
-Zebra is placed in ..<tt>/src/zebra-</tt>.
+as YAZ, for example if YAZ is placed in ..<tt>/src/yaz-xxx</tt>, then
+Zebra is placed in ..<tt>/src/zebra-yyy</tt>.
Edit the top-level <tt>Makefile</tt> in the Zebra directory in which
you specify the location of YAZ by setting make variables.
Z> show 1
</verb></tscreen>
-To try other retrieval formats for the same record, try:
+The default retrieval syntax for the client is USMARC. To try other
+formats for the same record, try:
<tscreen><verb>
Z>format sutrs
<tag>register</tag>
Specifies the location of the various files that Zebra uses to represent
your system.
+<tag>tempSetPath</tag>
+ Specifies the directory that the server uses for temporary result sets.
+ If not specified <tt>/tmp</tt> will be used.
<tag>profilePath</tag>
Specifies the location of profile specification paths.
<tag>attset</tag>
simple.database: textbase
</verb></tscreen>
+Since the existing records in an index can not be addressed by their
+IDs, it is impossible to delete records when using this method.
+
<sect1>Indexing with File Record IDs
<p>
the files should be indexed with file record IDs.
</em>
+You cannot explicitly delete records when using this method. Instead
+you have to delete the files from the file system (or remove them)
+and then run <tt>zebraidx</tt> with the <tt>update</tt> again.
+
<sect1>Indexing with General Record IDs
<p>
When using this method you specify an (almost) arbritrary record key
<tt/(/ <em/set/ <tt/,/ <em/use/ <tt/)/, where <em/set/ is the
attribute set ordinal number and <em/use/ is the use value of the attribute.
<tag>System variable</tag> The system variables are preceded by
-<tt>$</tt> and immediately followed by the system variable name, which
+<verb>$</verb> and immediately followed by the system variable name, which
may one of
<descrip>
<tag>group</tag> Group name.
keys is considerably slower than with file record IDs, since all files
visited must be (re)read to find their IDs.
+You may have noticed that when using the general record IDs
+method, you can only add or modify existing records with the <tt>update</tt>
+command. If you wish to delete records, you must use another command,
+<tt>delete</tt>, which a root directory as a parameter. This will remove
+all records that match the files below the root directory.
+
<sect1>Register location
<p>
Note that the server doesn't support the static mode (-S).
-<sect1>How the server handles queries
-<p>
-What elements of Bib-1 are supported and where are result sets
-stored.
-
<sect>License
<p>
having a characteristic pattern of black or dark-brown stripes on
a whitish background.
</it>
-<sect>References
</article>