X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fzebra.sgml;h=6ca296d61c4cd92a7865371c3c3b4042ace6eeba;hb=5b4dcfcb99600327a11b58de4fec33003dc4d816;hp=1712ca73c1b8541007c8d8a9211274dd63a0de60;hpb=5b886a7358c16434d5c9f5f0d4af2f6e2e5d5c73;p=idzebra-moved-to-github.git diff --git a/doc/zebra.sgml b/doc/zebra.sgml index 1712ca7..6ca296d 100644 --- a/doc/zebra.sgml +++ b/doc/zebra.sgml @@ -1,14 +1,14 @@
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 — <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 > -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 © 1995,1996 Index Data. +Copyright © 1995-1998 Index Data. All rights reserved.