X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=doc%2Fexamples.xml;h=0341fd599890ba004f9d7b045f34e01ccaadc883;hb=8438438421cafaf9a61dc21e7d551b50cf7619c7;hp=1a08eae6a443535a4ee5c688630b52e4104af324;hpb=8ad5e21914fe3a09f6241a06b25fd7e1bbc1d73e;p=idzebra-moved-to-github.git
diff --git a/doc/examples.xml b/doc/examples.xml
index 1a08eae..0341fd5 100644
--- a/doc/examples.xml
+++ b/doc/examples.xml
@@ -1,5 +1,5 @@
-
+
Example Configurations
@@ -44,55 +44,141 @@
- First Example: Minimal Configuration
+ Example 1: Minimal Configuration
- This example shows how Zebra can be used, with absolutely minimal
- configuration, to index a body of XML documents, and search them
+ This example shows how Zebra can be used with absolutely minimal
+ configuration to index a body of XML documents, and search them
using XPath expressions to specify access points.
- Go to the
- zebra/examples/dinosauricon
- directory. There you will find three significant files:
+ Go to the zebra/examples/dinosauricon directory.
+ There you will find a records subdirectory,
+ which contains some raw XML data to be added to the database: in
+ this case, two files, genera.xml and
+ taxa.xml, which contain information about all
+ the known dinosaur genera as of August 2002.
+
+ Now we need to create the Zebra database, which we do with the
+ Zebra indexer, zebraidx. This program's
+ behaviour is driven by a configuration life, generally called
+ zebra.cfg, although this can be changed with the
+ -c option. For our purposes, we don't need any
+ special behaviour - we can use the defaults - so an empty
+ configuration will do just fine. We can either create an empty
+ zebra.cfg or specify the name of an existing
+ empty file using, for example, -c /dev/null.
+
+
+ In this case, we'll use an empty zebra.cfg so
+ we can add more configuration to it later.
+
+
+ That's all you need for a minimal Zebra configuration. Now you can
+ roll the XML records into the database and build the indexes:
+
+ zebraidx -t grs.sgml update records
+
+ (### What does "grs.sgml" actually mean?)
+
+
+ Now start the server. Like the indexer, its behaviour is
+ controlled by a configuration file, generally
+ zebra.cfg; and like the indexer, it works just
+ fine with an empty configuration.
+
+ zebrasrv
+
+ By default, the server listens on IP port number 9999, although
+ this can easily be changed.
+
+
+ Now you can use the Z39.50 client program of your choice to execute
+ XPath-based boolean queries and fetch the XML records that satisfy
+ them:
+
+ Z> open tcp:@:9999
+ Connecting...Ok.
+ Z> find @attr 1=/GENUS/MEANING @or vertebra jaw
+ Number of hits: 1
+ Z> format xml
+ Z> show 1
+ Z> show 1
+ <GENUS name="Hudiesaurus" type="with" xmlns:idzebra="http://www.indexdata.dk/zebra/">
+ <MEANING>
+ butterfly <LOW>vertebra</LOW> lizard
+ </MEANING>
+ <LENGTH value="30"></LENGTH>
+ <PLACE name="China"></PLACE>
+ <REMAINS content="4 teeth, forelimb, first dorsal vertebra"></REMAINS>
+ <SPECIES name="sinojapanorum" status="nudum">
+ <AUTHOR name="Dong" year="1997"></AUTHOR>
+ <MEANING>
+ Chinese-Japanese
+ </MEANING>
+ </SPECIES>
+ <idzebra:size>359</idzebra:size><idzebra:localnumber>447</idzebra:localnumber><idzebra:filename>records/genera.xml</idzebra:filename></GENUS>
+
+
+
+ Now wasn't that easy?
+
+
-
-
-
- The records subdirectory, which contains the
- raw XML data to be added to the database: in this case, just one
- file, genera.xml, which contains information
- about all the known dinosaur genera as of October 2000.
-
-
-
+
+ Example 2: Adding Some Configuration
+
+
+ You may have noticed as zebraidx was building
+ the database that it issued several warnings, which we ignored at
+ the time:
+
+zebraidx -t grs.sgml update records
+02:12:32-30/08: zebraidx(18151) [warn] default.idx [No such file or directory]
+02:12:32-30/08: zebraidx(18151) [warn] Couldn't open explain.abs [No such file or directory]
+02:12:32-30/08: zebraidx(18151) [warn] records/genera.xml:0 Couldn't open GENUS.abs [No such file or directory]
+02:12:32-30/08: zebraidx(18151) [warn] records/genera.xml:0 Unknown register type: 0
+02:12:32-30/08: zebraidx(18151) [warn] records/genera.xml:0 Unknown register type: w
+02:12:35-30/08: zebraidx(18151) [warn] records/taxa.xml:0 Couldn't open TAXON.abs [No such file or directory]
+
+ And the server issued several more as the client connected to it,
+ then searched for and retrieved a record:
+
+02:17:10-30/08: zebrasrv(18165) [warn] default.idx [No such file or directory]
+02:17:10-30/08: zebrasrv(18165) [warn] Couldn't open explain.abs [No such file or directory]
+02:17:57-30/08: zebrasrv(18165) [warn] Unknown register type: w
+02:18:42-30/08: zebrasrv(18165) [warn] Couldn't open GENUS.abs [No such file or directory]
+
+
+
+
+
+
- # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.1 2002-08-29 01:16:12 mike Exp $
+ # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.4 2002-08-30 01:18:40 mike Exp $
# Bare-bones master configuration file for Zebra
- attset: bib1.att
+ profilePath: .:../../tab:../../../yaz/tab
Apart from the comments, which are ignored, all this specifies is
that the server should recognise the attribute set described in
the file called
bib1.att.
+ ### What is an attribute set?
-
The BIB-1 attribute set configuration file,
bib1.att, which is also as short as possible:
-
- # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.1 2002-08-29 01:16:12 mike Exp $
+ # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.4 2002-08-30 01:18:40 mike Exp $
# Bare-bones BIB-1 attribute set file for Zebra
reference Bib-1
@@ -101,44 +187,40 @@
Bib-1, a name recognised by the system as
referring to a well-known opaque identifier that is transmitted
by clients as part of their searches.
-
+ ### Yeuch! Surely we can say that better!
### Can't we somehow say this trivial thing in the main
configuration file?
-
+-->
-
- That's all you need for a minimal Zebra configuration. Now you can
- roll the XML records into the database and build the indexes:
-
- zebraidx -t grs.sgml update records
-
-
- and start the server which, by default listens on port 9999:
-
- zebrasrv
-
-
-
- Now you can use the Z39.50 client program of your choice to execute
- XPath-based boolean queries and fetch the XML records that satisfy
- them:
-
- Z> open tcp:@:9999
- Connecting...Ok.
- Z> find @attr 1=/GENUS/MEANING @or vertebra jaw
- Number of hits: 2
- Z> format xml
- Z> show 1
- <GENUS name="Anurognathus" type="with" xmlns:idzebra="http://www.indexdata.dk/zebra/"><SPECIES name="ammoni"><AUTHOR name="Doederline" year="1923"></AUTHOR></SPECIES><MEANING>tailless<I>or</I>anuran<LOW>(frog)</LOW>jaw</MEANING><TIME value="Tithonian" section="late"></TIME><PLACE name="Germany"></PLACE><LENGTH wingspan="1" value=".5"></LENGTH><idzebra:size>304</idzebra:size><idzebra:localnumber>70</idzebra:localnumber><idzebra:filename>records/genera.xml</idzebra:filename></GENUS>
-
-
-
-
-
+