X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fexamples.xml;h=f2af44421d6e1a8f9c3908e45df5e493b3153b61;hb=518c06f68ffac6658aa792da45282a165b32ca95;hp=956e7d0418d60e8f7afcbe2acf16cc8684941999;hpb=2dec2bfe164369203c36fcc4b43b941d445ed1b3;p=idzebra-moved-to-github.git
diff --git a/doc/examples.xml b/doc/examples.xml
index 956e7d0..f2af444 100644
--- a/doc/examples.xml
+++ b/doc/examples.xml
@@ -1,5 +1,5 @@
-
+
Example Configurations
@@ -19,106 +19,119 @@
- Where to find the default indexing rules (### default.idx)
+ Where to find subsidiary configuration files, including
+ default.idx
+ which specifies the default indexing rules.
- ### Something to do with explain.abs?!
+ What attribute sets to recognise in searches.
- ### Where to find other configuration files, e.g. searches using
- BIB-1 attributes require a bib1.att configuration file (even if
- the access point is actually an XPath expression). These are
- searched for in the working directory unless otherwise
- specified.
+ Policy details such as what record type to expect, what
+ low-level indexing algorithm to use, how to identify potential
+ duplicate records, etc.
+
+ Now let's see what goes in the zebra.cfg file
+ for some example configurations.
+
- Example 1: Minimal Configuration
+ Example 1: XML Indexing And Searching
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.
+ 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.
+ Go to the examples/dinosauricon subdirectory
+ of the distribution archive.
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.
+ this case, as single file, genera.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.
+ Zebra indexer, zebraidx, which is
+ driven by the zebra.cfg configuration file.
+ For our purposes, we don't need any
+ special behaviour - we can use the defaults - so we start with a
+ minimal file that just tells zebraidx where to
+ find the default indexing rules, and how to parse the records:
+
+ profilePath: .:../../tab:../../../yaz/tab
+ recordType: grs.sgml
+
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
+ zebraidx 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.
+ controlled by the
+ zebra.cfg file; and like the indexer, it works
+ just fine with this minimal configuration.
zebrasrv
By default, the server listens on IP port number 9999, although
- this can easily be changed.
+ this can easily be changed - see
+ .
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>
+ $ yaz-client tcp:@:9999
+ Connecting...Ok.
+ Z> find @attr 1=/GENUS/MEANING @and lizard earthquakes
+ Number of hits: 1
+ Z> format xml
+ Z> show 1
+ <GENUS name="Sauroposeidon" type="with">
+ <MEANING>lizard Poseidon <LOW>(Greek god of, among other things, earthquakes)</LOW></MEANING>
+ <SPECIES name="proteles">
+ <AUTHOR type="vide" name="Franklin" year="2000"></AUTHOR>
+ <AUTHOR name="Wedel, Cifelli, Sanders"></AUTHOR>
+ </SPECIES>
+ <PLACE name="Oklahoma"></PLACE>
+ <TIME value="Albian"></TIME>
+ <LENGTH value="30" q="1"></LENGTH>
+ <REMAINS content="rib, cervical vertebrae"></REMAINS>
+ <ESSAY>
+ <P> This new <NOMEN name="Brachiosaurus"></NOMEN>-like <LINK content="dinosaur"></LINK>
+ was perhaps the tallest. With its head raised, it stood 60 feet (nearly
+ 20 m) tall. </P>
+ </ESSAY>
+
+ <idzebra xmlns="http://www.indexdata.dk/zebra/">
+ <size>593</size>
+ <localnumber>891</localnumber>
+ <filename>records/genera.xml</filename>
+ </idzebra>
+ </GENUS>
@@ -127,29 +140,17 @@
- Example 2: Adding Some Configuration
+ Example 2: Supporting Z39.50 Searches
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:
+ the database that it issued a warning, which we ignored at the
+ time:
-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]
+ $ zebraidx update records
+ 00:45:46-08/10: ../../index/zebraidx(5016) [warn] records/genera.xml:0 Couldn't open GENUS.abs [No such file or directory]
+
@@ -161,7 +162,7 @@ zebraidx -t grs.sgml update records
The master configuration file, zebra.cfg,
which is as short and simple as it can be:
- # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.5 2002-09-19 19:51:48 adam Exp $
+ # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.8 2002-10-10 14:27:18 heikki Exp $
# Bare-bones master configuration file for Zebra
profilePath: .:../../tab:../../../yaz/tab
@@ -178,7 +179,7 @@ zebraidx -t grs.sgml update records
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.5 2002-09-19 19:51:48 adam Exp $
+ # $Header: /home/cvsroot/idis/doc/examples.xml,v 1.8 2002-10-10 14:27:18 heikki Exp $
# Bare-bones BIB-1 attribute set file for Zebra
reference Bib-1
@@ -222,6 +223,53 @@ zebraidx -t grs.sgml update records
elm (2,21) subject subject
-->
+
+