New function: dict_delete.
[idzebra-moved-to-github.git] / doc / zebra.sgml
index 9a6c916..a925992 100644 (file)
@@ -1,13 +1,13 @@
 <!doctype linuxdoc system>
 
 <!--
 <!doctype linuxdoc system>
 
 <!--
-  $Id: zebra.sgml,v 1.4 1995-11-28 16:10:45 quinn Exp $
+  $Id: zebra.sgml,v 1.9 1995-12-01 11:37:31 adam Exp $
 -->
 
 <article>
 -->
 
 <article>
-<title>Zebra server Administrators's Guide and Reference
+<title>Zebra Server - Administrators's Guide and Reference
 <author>Index Data, <tt/info@index.ping.dk/
 <author>Index Data, <tt/info@index.ping.dk/
-<date>$Revision: 1.4 $
+<date>$Revision: 1.9 $
 <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
 <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
@@ -24,11 +24,36 @@ services using the software.
 <sect1>Overview
 
 <p>
 <sect1>Overview
 
 <p>
+The Zebra system is a fielded free-text indexing and retrieval engine with a
+Z39.50 frontend. You can use any commercial or freeware Z39.50 client
+to access data stored in Zebra.
+
+The Zebra server is our first step towards the development of a fully
+configurable, open information system. Eventually, it will be paired
+off with a powerful Z39.50 client to support complex information
+management tasks within almost any application domain. We're making
+the server available now because it's no fun to be in the open
+information retrieval business all by yourself. We want to allow
+people with interesting data to make their things
+available in interesting ways, without having to start out
+by implementing yet another protocol stack from scratch.
+
+This document is an introduction to the Zebra system. It will tell you
+how to compile the software, and how to prepare your first database.
+It also explains how the server can be configured to give you the
+functionality that you need.
+
+You should read <it/Specifying and Using Application (Database)
+Profiles/, which is bundled with the YAZ documentation, to learn how
+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>
 
 <sect1>Features
 
 <p>
-
 This is a listing of some of the most important features of the
 system.
 
 This is a listing of some of the most important features of the
 system.
 
@@ -160,6 +185,11 @@ Support the Item Update extended service of the protocol.
 The Zebra search engine supports approximate string matching in the
 index. We'd like to find a way to support and control this from RPN.
 
 The Zebra search engine supports approximate string matching in the
 index. We'd like to find a way to support and control this from RPN.
 
+<item>
+We want to add a management system that allows you to
+control your databases and configuration tables from a graphical
+interface. We'll probably use Tcl/Tk to stay platform-independent.
+
 </itemize>
 
 Programmers thrive on user feedback. If you are interested in a facility that
 </itemize>
 
 Programmers thrive on user feedback. If you are interested in a facility that
@@ -378,6 +408,9 @@ explained further in the following sections.
 <tag>register</tag> 
  Specifies the location of the various files that Zebra uses to represent
  your system.
 <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> 
 <tag>profilePath</tag>
  Specifies the location of profile specification paths.
 <tag>attset</tag> 
@@ -424,6 +457,9 @@ simple.recordType: text
 simple.database: textbase
 </verb></tscreen>
 
 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>
 <sect1>Indexing with File Record IDs
 
 <p>
@@ -472,6 +508,10 @@ index the group that
 the files should be indexed with file record IDs.
 </em>
 
 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
 <sect1>Indexing with General Record IDs
 <p>
 When using this method you specify an (almost) arbritrary record key
@@ -496,7 +536,7 @@ 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.
 <tag>System variable</tag> The system variables are preceded by
  <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.
 may one of
  <descrip>
  <tag>group</tag> Group name.
@@ -527,6 +567,12 @@ with the <tt>update</tt> command. However, the update with general
 keys is considerably slower than with file record IDs, since all files
 visited must be (re)read to find their IDs. 
 
 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>
 <sect1>Register location
 
 <p>
@@ -534,7 +580,8 @@ Normally, the index files that form dictionaries, inverted
 files, record info, etc., are stored in the directory where you run
 <tt>zebraidx</tt>. If you wish to store these, possibly large, files
 somewhere else, you must add the <tt>register</tt> entry to the
 files, record info, etc., are stored in the directory where you run
 <tt>zebraidx</tt>. If you wish to store these, possibly large, files
 somewhere else, you must add the <tt>register</tt> entry to the
-configuration file. Furthermore, the Zebra system allows indexes to
+configuration file. Furthermore, the Zebra system allows its file
+structures to
 span multiple file systems, which is useful if a very large number of
 records are stored.
 
 span multiple file systems, which is useful if a very large number of
 records are stored.
 
@@ -573,11 +620,6 @@ This is useful if you don't happen to know what attributes your client sends.
 
 Note that the server doesn't support the static mode (-S). 
 
 
 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>
 <sect>License
 
 <p>
@@ -652,6 +694,5 @@ Zebra, n., any of several horselike, African mammals of the genus Equus,
 having a characteristic pattern of black or dark-brown stripes on
 a whitish background.
 </it>
 having a characteristic pattern of black or dark-brown stripes on
 a whitish background.
 </it>
-<sect>References
 
 </article>
 
 </article>