Implemented Sort.
[idzebra-moved-to-github.git] / doc / zebra.sgml
index 1712ca7..e204727 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.40 1998-02-10 12:03:05 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.40 $
 <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>
@@ -328,12 +328,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.
@@ -878,7 +877,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 +970,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 +1048,7 @@ expressions.
 
 <sect3>Query examples
 <p>
+
 Phrase search for <bf/information retrieval/ in the title-register:
 <verb>
  @attr 1=4 "information retrieval"
@@ -1067,7 +1069,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 +1094,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 +2068,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 +2200,7 @@ level.
 <sect>License
 
 <p>
-Copyright &copy; 1995,1996 Index Data.
+Copyright &copy; 1995-1998 Index Data.
 
 All rights reserved.