X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=doc%2Fexamples.xml;h=26819454339c5c529e2e033c99218aabdba6606f;hp=b287d3435d104c82e317990393196713a7b09921;hb=1b8e1d7dfece31918056f76819c18675ed6e781e;hpb=47054fae00306e75212a26ee5305f00032c99001 diff --git a/doc/examples.xml b/doc/examples.xml index b287d34..2681945 100644 --- a/doc/examples.xml +++ b/doc/examples.xml @@ -1,12 +1,13 @@ - + Example Configurations - + Overview - zebraidx and zebrasrv are both + zebraidx and + zebrasrv are both driven by a master configuration file, which may refer to other subsidiary configuration files. By default, they try to use zebra.cfg in the working directory as the @@ -14,7 +15,7 @@ option to specify an alternative master configuration file. - The master configuration file tells Zebra: + The master configuration file tells &zebra;: @@ -60,14 +61,14 @@ - Example 1: XML Indexing And Searching + Example 1: &xml; Indexing And Searching - This example shows how Zebra can be used with absolutely minimal + This example shows how &zebra; can be used with absolutely minimal configuration to index a body of - XML + &xml; documents, and search them using - XPath + XPath expressions to specify access points. @@ -80,20 +81,20 @@ records are generated from the family tree in the file dino.tree.) Type make records/dino.xml - to make the XML data file. - (Or you could just type make dino to build the XML + to make the &xml; data file. + (Or you could just type make dino to build the &xml; data file, create the database and populate it with the taxonomic records all in one shot - but then you wouldn't learn anything, would you? :-) - Now we need to create a Zebra database to hold and index the XML + Now we need to create a &zebra; database to hold and index the &xml; records. We do this with the - Zebra indexer, zebraidx, which is + &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 can start with a - minimal file that just tells zebraidx where to + minimal file that just tells zebraidx where to find the default indexing rules, and how to parse the records: profilePath: .:../../tab @@ -101,8 +102,8 @@ - That's all you need for a minimal Zebra configuration. Now you can - roll the XML records into the database and build the indexes: + 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 update records @@ -120,8 +121,8 @@ . - 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 + Now you can use the &z3950; client program of your choice to execute + XPath-based boolean queries and fetch the &xml; records that satisfy them: $ yaz-client @:9999 @@ -175,7 +176,7 @@ significantly because it ties searching semantics to the physical structure of the searched records. You can't use the same search specification to search two databases if their internal - representations are different. Consider an different taxonomy + representations are different. Consider a different taxonomy database in which the records have taxon names specified inside a <name> element nested within a <identification> element @@ -186,18 +187,18 @@ How, then, can we build broadcasting Information Retrieval applications that look for records in many different databases? - The Z39.50 protocol offers a powerful and general solution to this: - abstract ``access points''. In the Z39.50 model, an access point + The &z3950; protocol offers a powerful and general solution to this: + abstract ``access points''. In the &z3950; model, an access point is simply a point at which searches can be directed. Nothing is said about implementation: in a given database, an access point might be implemented as an index, a path into physical records, an algorithm for interrogating relational tables or whatever works. - The only important thing point is that the semantics of an access - point are fixed and well defined. + The only important thing is that the semantics of an access + point is fixed and well defined. For convenience, access points are gathered into attribute - sets. For example, the BIB-1 attribute set is supposed to + sets. For example, the &bib1; attribute set is supposed to contain bibliographic access points such as author, title, subject and ISBN; the GEO attribute set contains access points pertaining to geospatial information (bounding coordinates, stratum, latitude @@ -206,7 +207,7 @@ (provenance, inscriptions, etc.) - In practice, the BIB-1 attribute set has tended to be a dumping + In practice, the &bib1; attribute set has tended to be a dumping ground for all sorts of access points, so that, for example, it includes some geospatial access points as well as strictly bibliographic ones. Nevertheless, this model @@ -214,21 +215,21 @@ records in databases. - In the BIB-1 attribute set, a taxon name is probably best + In the &bib1; attribute set, a taxon name is probably best interpreted as a title - that is, a phrase that identifies the item - in question. BIB-1 represents title searches by - access point 4. (See - The BIB-1 Attribute Set Semantics) + in question. &bib1; represents title searches by + access point 4. (See + The &bib1; Attribute + Set Semantics) So we need to configure our dinosaur database so that searches for - BIB-1 access point 4 look in the + &bib1; access point 4 look in the <termName> element, inside the top-level <Zthes> element. - This is a two-step process. First, we need to tell Zebra that we - want to support the BIB-1 attribute set. Then we need to tell it + This is a two-step process. First, we need to tell &zebra; that we + want to support the &bib1; attribute set. Then we need to tell it which elements of its record pertain to access point 4. @@ -269,8 +270,8 @@ xelm /Zthes/termModifiedBy termModifiedBy:w - Declare Bib-1 attribute set. See bib1.att in - Zebra's tab directory. + Declare &bib1; attribute set. See bib1.att in + &zebra;'s tab directory. @@ -283,13 +284,13 @@ xelm /Zthes/termModifiedBy termModifiedBy:w Make termName word searchable by both - Zthes attribute termName (1002) and Bib-1 atttribute title (4). + Zthes attribute termName (1002) and &bib1; atttribute title (4). - After re-indexing, we can search the database using Bib-1 + After re-indexing, we can search the database using &bib1; attribute, title, as follows: Z> form xml @@ -304,7 +305,7 @@ Elapsed: 0.106896 Z> s Sent presentRequest (1+1). Records: 1 -[Default]Record type: XML +[Default]Record type: &xml; <Zthes> <termId>2</termId> <termName>Eoraptor</termName> @@ -374,7 +375,7 @@ rendering engine can handle. I generated the EPS version of the image by exporting a line-drawing done in TGIF, then converted that to the GIF using a shell-script called "epstogif" which used an appallingly baroque sequence of conversions, which I would prefer not to pollute -the Zebra build environment with: +the &zebra; build environment with: #!/bin/sh @@ -390,9 +391,17 @@ the Zebra build environment with: --> - - +