X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fserver.xml;h=9f6499fd7fe887446a999e45641642f817b4abb0;hb=f7a3769dede0071696bdcc13ae2ee1efe6d52d96;hp=83a5e3c626fd17b216e8fedb7f4027eb0184274b;hpb=b367b4068098c28aa284c447edf42ba2c8d7c42b;p=idzebra-moved-to-github.git diff --git a/doc/server.xml b/doc/server.xml index 83a5e3c..9f6499f 100644 --- a/doc/server.xml +++ b/doc/server.xml @@ -1,5 +1,5 @@ - + The Z39.50 Server @@ -16,7 +16,7 @@ zebrasrv manpage --> - DESCRIPTION + Description Zebra is a high-performance, general-purpose structured text indexing and retrieval engine. It reads structured records in a variety of input formats (eg. email, XML, MARC) and allows access to them through exact @@ -36,12 +36,12 @@ - SYNOPSIS + Synopsis &zebrasrv-synopsis; - OPTIONS + Options The options for zebrasrv are the same @@ -52,19 +52,13 @@ &zebrasrv-options; - VIRTUAL HOSTS - - zebrasrv uses the YAZ server frontend and does - support multiple virtual servers behind multiple listening sockets. - - &zebrasrv-virtual; - - FILES + + Files zebra.cfg - SEE ALSO + See Also zebraidx @@ -76,18 +70,6 @@ - Section "The Z39.50 Server" in the Zebra manual. - http://www.indexdata.dk/zebra/doc/server.tkl - - - Section "Virtual Hosts" in the YAZ manual. - http://www.indexdata.dk/yaz/doc/server.vhosts.tkl - - - Section "Specification of CQL to RPN mappings" in the YAZ manual. - http://www.indexdata.dk/yaz/doc/tools.tkl#tools.cql.map - - The Zebra software is Copyright Index Data http://www.indexdata.dk and distributed under the @@ -627,11 +609,11 @@ browser to: - http://localhost:9999/Default?version=1.1& - operation=searchRetrieve& - x-pquery=mineral& - startRecord=1& - maximumRecords=1 + http://localhost:9999/Default?version=1.1 + &operation=searchRetrieve + &x-pquery=mineral + &startRecord=1 + &maximumRecords=1 This will display the XML-formatted SRU response that includes the @@ -683,6 +665,17 @@ various CQL indexes, relations, etc. are translated into Type-1 queries. + + A zebra server running with such a configuration can then be + queried using proper, conformant SRU URLs with CQL queries: + + + http://localhost:9999/Default?version=1.1 + &operation=searchRetrieve + &query=title=utah and description=epicent* + &startRecord=1 + &maximumRecords=1 + @@ -708,24 +701,110 @@ is with some shame, then, that we admit that Zebra also supports an additional query language, our own Prefix Query Format (PQF, ). -x-pquery - - + A PQF query is submitted by using the extension parameter + x-pquery, + in which case the + query + parameter must be omitted, which makes the request not valid SRU. + Please don't do this. Scan - ### + Zebra does not support SRU's + scan + operation, as described at + + + + This is a rather embarrassing surprise as the pieces are all + there: Z39.50 scan is supported, and SRU scan requests are + recognised and diagnosed. To add further to the embarrassment, a + mutant form of SRU scan is supported, using + the non-standard x-pScanClause parameter in + place of the standard scanClause to scan on a + PQF query clause. Explain - ### + Zebra fully supports SRU's core + explain + operation, as described at + + + + The ZeeRex record explaining a database may be requested either + with a fully fledged SRU request (with + operation=explain + and version-number specified) + or with a simple HTTP GET at the server's basename. + The ZeeRex record returned in response is the one embedded + in the YAZ Frontend Server configuration file that is described in the + Virtual Hosts documentation. + + Unfortunately, the data found in the + CQL-to-PQF text file must be added by hand-craft into the explain + section of the YAZ Frontend Server configuration file to be able + to provide a suitable explain record. + Too bad, but this is all extreme + new alpha stuff, and a lot of work has yet to be done .. + + + There is no linkeage whatsoever between the Z39.50 explain model + and the SRU/SRW explain response (well, at least not implemented + in Zebra, that is ..). Zebra does not provide a means using + Z39.50 to obtain the ZeeRex record. + + + + + Some SRU Examples + + Surf into http://localhost:9999 + to get an explain response, or use + + + + See number of hits for a query + + + + Fetch record 5-7 in Dublin Core format + + + + Even search using PQF queries using the extended naughty + verb x-pquery + + + + Or scan indexes using the extended extremely naughty + verb x-pScanClause + + Don't do this in production code! + But it's a great fast debugging aid. +