X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fexamples.xml;h=d37463fff4326f2f00a9210f457e49ed4d75d225;hb=7253cbefce93c35a083505e14d97b3ae24c0a66b;hp=dc95e1209e282683562398be4d2d60677b984d0c;hpb=c50b7223e10de52e713be64559129ea89e8ed601;p=idzebra-moved-to-github.git diff --git a/doc/examples.xml b/doc/examples.xml index dc95e12..d37463f 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 @@ -65,9 +66,9 @@ 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. @@ -81,7 +82,7 @@ dino.tree.) Type make records/dino.xml to make the XML data file. - (Or you could just type make to build the XML + (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? :-) @@ -89,11 +90,11 @@ 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 @@ -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 @@ -192,8 +193,8 @@ 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 @@ -217,9 +218,9 @@ In the BIB-1 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) + access point 4. (See + The BIB-1 Attribute + Set Semantics) So we need to configure our dinosaur database so that searches for BIB-1 access point 4 look in the <termName> element, @@ -227,32 +228,92 @@ <Zthes> element. - ### Here's where it all goes to pieces. The current arrangement is - very awkward (and somewhat embarrassing) to describe, and the new - arrangement hasn't actually been implemented yet. - - 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 which elements of its record pertain to access point 4. - - + + We need to create an Abstract Syntax file named after the document element of the records we're - working with, plus a .abs suffix - in this case, - Zthes.abs - as follows: - - - - - - - - - - - - + working with, plus a .abs suffix - in this case, + Zthes.abs - as follows: + + + + + + + + + +attset zthes.att +attset bib1.att +xpath enable +systag sysno none + +xelm /Zthes/termId termId:w +xelm /Zthes/termName termName:w,title:w +xelm /Zthes/termQualifier termQualifier:w +xelm /Zthes/termType termType:w +xelm /Zthes/termLanguage termLanguage:w +xelm /Zthes/termNote termNote:w +xelm /Zthes/termCreatedDate termCreatedDate:w +xelm /Zthes/termCreatedBy termCreatedBy:w +xelm /Zthes/termModifiedDate termModifiedDate:w +xelm /Zthes/termModifiedBy termModifiedBy:w + + + + + Declare Thesausus attribute set. See zthes.att. + + + + + Declare Bib-1 attribute set. See bib1.att in + Zebra's tab directory. + + + + + This xelm directive selects contents of nodes by XPath expression + /Zthes/termId. The contents (CDATA) will be + word searchable by Zthes attribute termId (value 1001). + + + + + Make termName word searchable by both + Zthes attribute termName (1002) and Bib-1 atttribute title (4). + + + + + + After re-indexing, we can search the database using Bib-1 + attribute, title, as follows: + +Z> form xml +Z> f @attr 1=4 Eoraptor +Sent searchRequest. +Received SearchResponse. +Search was a success. +Number of hits: 1, setno 1 +SearchResult-1: Eoraptor(1) +records returned: 0 +Elapsed: 0.106896 +Z> s +Sent presentRequest (1+1). +Records: 1 +[Default]Record type: XML +<Zthes> + <termId>2</termId> + <termName>Eoraptor</termName> + <termType>PT</termType> + <termNote>The most basal known dinosaur</termNote> + ... + +