Minor changes.
[idzebra-moved-to-github.git] / doc / zebra.sgml
index 1712ca7..6ca296d 100644 (file)
@@ -1,14 +1,14 @@
 <!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
@@ -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>
@@ -328,12 +347,11 @@ indicate the location of the configuration file by option
 
 <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.
@@ -561,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
@@ -575,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">
@@ -878,7 +896,9 @@ privileged port.
 
 <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).
 
@@ -969,7 +989,7 @@ If a <bf/Structure/ attribute of <bf/Phrase/ is used in conjunction with a
 <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
@@ -1047,6 +1067,7 @@ expressions.
 
 <sect3>Query examples
 <p>
+
 Phrase search for <bf/information retrieval/ in the title-register:
 <verb>
  @attr 1=4 "information retrieval"
@@ -1067,7 +1088,11 @@ Ranked search with a regular expression:
  @attr 1=4 @attr 5=102 @attr 2=102 "informat.* retrieval"
 </verb>
 
-Relational search on a numeric index (westoundingCoordinate &gt; -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>
@@ -1088,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>
@@ -2046,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
@@ -2171,7 +2219,7 @@ level.
 <sect>License
 
 <p>
-Copyright &copy; 1995,1996 Index Data.
+Copyright &copy; 1995-1998 Index Data.
 
 All rights reserved.