Changes.
[idzebra-moved-to-github.git] / doc / zebra.sgml
index 232bd17..6ca296d 100644 (file)
@@ -1,14 +1,14 @@
 <!doctype linuxdoc system>
 
 <!--
-  $Id: zebra.sgml,v 1.39 1998-01-30 15:30:57 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.39 $
+<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
@@ -91,13 +91,15 @@ schema on the fly.
 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.
@@ -135,8 +137,6 @@ requires MSVC++ to compile the system (we use version 5.0).
 
 </itemize>
 
-</itemize>
-
 <sect1>Future Work
 
 <p>
@@ -192,15 +192,34 @@ An ANSI C compiler is required to compile the Zebra
 server system &mdash; <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>
@@ -560,7 +579,7 @@ There are three kinds of tokens:
 <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
@@ -574,18 +593,18 @@ 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">
@@ -1094,6 +1113,22 @@ processed in the same way as operands in a query (see above).
 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>
@@ -2052,11 +2087,18 @@ of the .idx file is as follows
 
 <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