<!doctype linuxdoc system>
<!--
- $Id: zebra.sgml,v 1.37 1998-01-29 13:35:11 adam Exp $
+ $Id: zebra.sgml,v 1.42 1998-09-22 10:03:39 adam Exp $
-->
<article>
<title>Zebra Server - Administrators's Guide and Reference
<author><htmlurl url="http://www.indexdata.dk/" name="Index Data">,
<tt><htmlurl url="mailto:info@indexdata.dk" name="info@indexdata.dk"></>
-<date>$Revision: 1.37 $
+<date>$Revision: 1.42 $
<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
Supports approximate matching in registers (ie. spelling mistakes,
etc).
-<item>
+</itemize>
+
+<p>
Protocol support:
<itemize>
<item>
-Protocol facilities: Init, Search, Retrieve, Browse.
+Protocol facilities: Init, Search, Retrieve, Browse and Sort.
<item>
Piggy-backed presents are honored in the search-request.
</itemize>
-</itemize>
-
<sect1>Future Work
<p>
server system — <tt/gcc/ works fine if your own system doesn't
provide an adequate compiler.
-Unpack the distribution archive. In some cases, you may want to edit
-the top-level <tt/Makefile/, eg. to select a different C compiler, or
-to specify machine-specific libraries in the <bf/ELIBS/ variable.
+Unpack the distribution archive. The <tt>configure</tt> shell script
+attempts to guess correct values for various system-dependent variables
+used during compilation. It uses those values to create a 'Makefile' in
+each directory of Zebra.
+
+To run the configure script type:
+<tscreen><verb>
+ ./configure
+</verb></tscreen>
-When you are done editing the <tt>Makefile</tt> type:
+The configure script attempts to use C compiler specified by
+the <tt>CC</tt> environment variable. If not set, <tt>cc</tt>
+will be used. The <tt>CFLAGS</tt> environment variable holds
+options to be passed to the C compiler. If you're using a Bourne-shell
+compatible shell you may pass something like this:
<tscreen><verb>
-$ make
+ CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
</verb></tscreen>
+When configured build the software by typing:
+<tscreen><verb>
+ make
+</verb></tscreen>
+
+As an option you may type <tt>make depend</tt> to create
+source file dependencies for the package. This is only needed,
+however, if you alter the source.
+
If successful, two executables have been created in the sub-directory
<tt/index/.
<descrip>
<sect1>Record Types<label id="record-types">
<p>
-Indexing is a per-record process, in which
-either insert/modify/delete will occur. Before a record is indexed
-search keys are extracted from whatever might be the layout the
-original record (sgml,html,text, etc..). The Zebra system
-currently only supports SGML-like, structured records and unstructured text
-records.
+Indexing is a per-record process, in which either insert/modify/delete
+will occur. Before a record is indexed search keys are extracted from
+whatever might be the layout the original record (sgml,html,text, etc..).
+The Zebra system currently supports two fundamantal types of records:
+structured and simple text.
To specify a particular extraction process, use either the
command line option <tt>-t</tt> or specify a
<tt>recordType</tt> setting in the configuration file.
<tag>Internal record info</tag> The token refers to a key that is
extracted from the record. The syntax of this token is
<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.
+attribute set name <em/use/ is the name or value of the attribute.
<tag>System variable</tag> The system variables are preceded by
<verb>$</verb> and immediately followed by the system variable name, which
may one of
</descrip>
For instance, the sample GILS records that come with the Zebra
-distribution contain a
-unique ID
-in the Control-Identifier field. This field is mapped to the Bib-1
-use attribute 1007. To use this field as a record id, specify
-<tt>(1,1007)</tt> as the value of the <tt>recordId</tt> in the
-configuration file. If you have other record types that uses
-the same field for a different purpose, you might add the record type (or group or database name)
-to the record id of the gils records as well, to prevent matches
-with other types of records. In this case the recordId might be
-set like this:
+distribution contain a unique ID in the data tagged Control-Identifier.
+The data is mapped to the Bib-1 use attribute Identifier-standard
+(code 1007). To use this field as a record id, specify
+<tt>(bib1,Identifier-standard)</tt> as the value of the
+<tt>recordId</tt> in the configuration file.
+If you have other record types that uses the same field for a
+different purpose, you might add the record type
+(or group or database name) to the record id of the gils
+records as well, to prevent matches with other types of records.
+In this case the recordId might be set like this:
<tscreen><verb>
-gils.recordId: $type (1,1007)
+gils.recordId: $type (bib1,Identifier-standard)
</verb></tscreen>
(see section <ref id="data-model" name="Configuring Your Data Model">
<tag>-w <it/working-directory/</tag>Change working directory.
-<tag>-i <it/minutes/</tag>Run under the Internet superserver, <tt/inetd/.
+<tag>-i</tag>Run under the Internet superserver, <tt/inetd/. Make
+sure you use the logfile option <tt/-l/ in conjunction with this
+mode and specify the <tt/-l/ option before any other options.
<tag>-t <it/timeout/</tag>Set the idle session timeout (default 60 minutes).
<bf/Completeness/ attribute of <bf/Complete (Sub)field/, the term is
matched against the contents of the phrase (long word) register, if one
exists for the given <bf/Use/ attribute.
-A phrase register exists for those fields in the <tt/.abs/
+A phrase register is created for those fields in the <tt/.abs/
file that contains a <tt/p/-specifier.
If <bf/Structure/=<bf/Phrase/ is used in conjunction with
<sect3>Query examples
<p>
+
Phrase search for <bf/information retrieval/ in the title-register:
<verb>
@attr 1=4 "information retrieval"
@attr 1=4 @attr 5=102 @attr 2=102 "informat.* retrieval"
</verb>
-Relational search on a numeric index (westoundingCoordinate > -114):
+In the GILS schema (<tt/gils.abs/), the west-bounding-coordinate is
+indexed as type <tt/n/, and is therefore searched by specifying
+<bf/structure/=<bf/Numeric String/.
+To match all those records with west-bounding-coordinate greater
+than -114 we use the following query:
<verb>
@attr 4=109 @attr 2=5 @attr gils 1=2038 -114
</verb>
Currently, only the term and the globalOccurrences are returned with
the TermInfo structure.
+<sect2>Sort
+
+<p>
+Z39.50 specifies three diffent types of sort criterias.
+Of these Zebra supports the attribute specification type in which
+case the use attribute specifies the "Sort register".
+Sort registers are created for those fields that are of type "sort" in
+the default.idx file.
+The corresponding character mapping file in default.idx specifies the
+ordinal of each character used in the actual sort.
+
+Z39.50 allows the client to specify sorting on one or more input
+result sets and one output result set.
+Zebra supports sorting on one result set only which may or may not
+be the same as the output result set.
+
<sect2>Close
<p>
<descrip>
<tag>index <it/field type code/</tag>This directive introduces a new
-index code. The argument is a one-character code to be used in the
+search index code. The argument is a one-character code to be used in the
.abs files to select this particular index type. An index, roughly,
corresponds to a particular structure attribute during search. Refer
to section <ref id="search" name="Search">.
+<tag>sort <it/field code type/</tag>This directive introduces a
+sort index. The argument is a one-character code to be used in the
+.abs fie to select this particular index type. The corresponding
+use attribute must be used in the sort request to refer to this
+particular sort index. The corresponding character map (see below)
+is used in the sort process.
+
<tag>completeness <it/boolean/</tag>This directive enables or disables
complete field indexing. The value of the <it/boolean/ should be 0
(disable) or 1. If completeness is enabled, the index entry will
<sect>License
<p>
-Copyright © 1995,1996 Index Data.
+Copyright © 1995-1998 Index Data.
All rights reserved.