X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fpazpar2_protocol.xml;h=f266fd7944bd7f8f9e7dcd1944840766d947479c;hb=6e2b2cc9c5c0290bf2fc53ff3dab7bf15c97526b;hp=009635b61d66dc74f38ae6ffe824f3a043f378a2;hpb=f5fe92a40046dd1142edd3714dc3c6c708c26492;p=pazpar2-moved-to-github.git diff --git a/doc/pazpar2_protocol.xml b/doc/pazpar2_protocol.xml index 009635b..f266fd7 100644 --- a/doc/pazpar2_protocol.xml +++ b/doc/pazpar2_protocol.xml @@ -1,6 +1,6 @@ - %local; @@ -13,10 +13,12 @@ Pazpar2 &version; + Index Data Pazpar2 protocol 7 + Conventions and miscellaneous @@ -24,7 +26,8 @@ The webservice protocol of Pazpar2 - DESCRIPTION + + DESCRIPTION Webservice requests are any that refer to filename "search.pz2". Arguments are GET-style parameters. Argument 'command' is always required and specifies @@ -32,16 +35,20 @@ request is forwarded to the HTTP server specified in the configuration using the proxy setting. This way, a regular webserver can host the user interface (itself dynamic - or static HTML), and AJAX-style calls can be used from JS (or any other client-based - scripting environment) to interact with the search logic in Pazpar2. + or static HTML), and Ajax-style calls can be used from JS (or any other + client-based scripting environment) to interact with the search logic + in Pazpar2. Each command is described in sub sections to follow. - init + + init Initializes a session. - Returns session ID to be used in subsequent requests. + Returns session ID to be used in subsequent requests. If + a server ID is given in the Pazpar2 server section, then a + period (.) and the server ID is appended to the session ID. Example: @@ -59,9 +66,9 @@ ]]> - The init command may take a number of setting parameters, similar to - the 'settings' command described below. These settings are immediately - applied to the new session. Other parameters for init are: + The init command may take a number of setting parameters, similar to + the 'settings' command described below. These settings are immediately + applied to the new session. Other parameters for init are: clear @@ -88,7 +95,8 @@ - ping + + ping Keeps a session alive. An idle session will time out after one minute. The ping command can be used to keep the session alive absent other @@ -141,7 +149,7 @@ Example: Response: OK ]]> - - + + - search + + search Launches a search, parameters: - + session @@ -179,13 +188,34 @@ Limits the search to a given set of targets specified by the filter. The filter consists a comma separated list of - setting+operator+args pairs. The setting is a Pazpar2 setting + setting+operator+args + pairs. The setting is a Pazpar2 setting (such as pz:id). - The operator is either = (string match) - or ~ (substring match). The args is a list of values separated - by | (or , one of the values). The idea is that only targets - with a setting matching one of the values given will be included - in the search. + The operator is either + = (string match) + or ~ (substring match). + The args is a list of values separated + by | (or , one of the values). + The idea is that only targets with a setting matching one of + the values given will be included in the search. + + + + + limit + + + Narrows the search by one or more fields (typically facets). + The limit is sequence of one or more + name=args pairs separated + by comma. The args is a list of values + separated by vertical bar (|). + The meaning of | is alternative, ie OR . + A value that contains a comma (,), + a vertical bar (|) or + backslash itself must be preceded by backslash (\). + The pz:limitmap configuration + item defines how the searches are mapped to a database. @@ -210,6 +240,31 @@ + + sort + + + Specifies sort criteria. The argument is a comma-separated list + (no whitespace allowed) of sort fields, with the highest-priority + field first. A sort field may be followed by a colon followed by + the number '0' (decreasing) or '1' (increasing). Default + sort order is decreasing. + Sort field names can be any field name designated as a sort field + in the pazpar2.cfg file, or the special names 'relevance' and + 'position'. + + + If not specified here or as sort-default" + in pazpar2.cfg, Pazpar2 will default to the built-in 'relevance' ranking. + + + Having sort criteria at search is important for targets that + supports native sorting in order to get best results. Pazpar2 + will trigger a new search if search criteria changes from Pazpar2 + to target-based sorting or visa-versa. + + + @@ -280,7 +335,7 @@ search.pz2?session=2044502273&command=stat Session ID - + @@ -304,8 +359,8 @@ search.pz2?session=2044502273&command=stat block - If block is set to 1, the command will hang until there are records ready - to display. Use this to show first records rapidly without + If block is set to 1, the command will hang until there are records + ready to display. Use this to show first records rapidly without requiring rapid polling. @@ -318,10 +373,25 @@ search.pz2?session=2044502273&command=stat Specifies sort criteria. The argument is a comma-separated list (no whitespace allowed) of sort fields, with the highest-priority field first. A sort field may be followed by a colon followed by - the number '0' or '1', indicating whether results should be sorted in - increasing or decreasing order according to that field. 0==Decreasing is - the default. Sort field names can be any field name designated as a sort field - in the pazpar2.cfg file, or the special name 'relevance'. + the number '0' (decreasing) or '1' (increasing). Default + sort order is decreasing. + Sort field names can be any field name designated as a sort field + in the pazpar2.cfg file, or the special names 'relevance' and + 'position'. + + If not specified here or as sort-default" + in pazpar2.cfg, pazpar2 will default to the built-in 'relevance' ranking. + + Having sort criteria at search is important for targets that + supports native sorting in order to get best results. pazpar2 + will trigger a new search if search criteria changes from pazpar2 + to target-based sorting. + + + + For targets where If pz:sortmap + is defined, a sort operation will be executed (possibly including + extending the search). @@ -365,7 +435,7 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 Retrieves a detailed record. Unlike the show command, this command returns metadata records before merging takes place. Parameters: - + session @@ -391,21 +461,56 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 This optional parameter is an integer which, when given, makes - Pazpar2 return the raw record for a target. The raw record - from first target is numbered 0, second numbered 1, etc. - When a raw record is returned Pazpar2 will XSLT transform the - record but an XML version is returned. All ISO2709 records are - returned as MARCXML. OPAC records are returned as YAZ' - OPAC with an MARCXML sibling. + Pazpar2 return the original record for a specific target. + The record set from first target is numbered 0, + second record set is numbered 1, etc. + The nativesyntax setting, as usual, is used to determine how to + create XML from the original record - unless parameter + binary is given in which the record is + fetched as "raw" from ZOOM C (raw, original record). + + + When offset/checksum is not given, the Pazpar2 metadata for the record + is returned and with metadata for each targets' data specified + in a 'location' list. + + + + + + checksum + + + This optional parameter is a string which, when given, makes + Pazpar2 return the original record for a specific target. The + checksum is returned as attribtue 'checksum' in element + 'location' for show command and record command (when checksum + and offset is NOT given). + The nativesyntax setting, as usual, is used to determine how to + create XML from the original record - unless parameter + binary is given in which the record is + fetched as "raw" from ZOOM C (raw, original record). - When offset is not given the Pazpar2 metadata for the record + When offset/checksum is not given, the Pazpar2 metadata for the record is returned and with metadata for each targets' data specified in a 'location' list. + + + nativesyntax + + + This optional parameter can be used to override pz:nativesyntax + as given for the target. This allow an alternative nativesyntax + to be used for original records (see parameteroffset above). + + + + syntax @@ -434,9 +539,9 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 This optional parameter enables "binary" response for retrieval - of a raw record (i.e. when offset is specified). For binary - responses the record is not converted to - XML and the HTTP content type is application/octet-stream. + of a original record (i.e. when offset is specified). For binary + response the record by default is fetched from ZOOM C using + the "raw" option or by parameter nativesyntax if given. @@ -482,7 +587,16 @@ search.pz2?session=605047297&command=record&id=3 name - comma-separated list of termlist names (default "subject") + comma-separated list of termlist names. If omitted, + all termlists are returned. + + + + + num + + + maximum number of entries to return - default is 15. @@ -493,7 +607,7 @@ search.pz2?session=605047297&command=record&id=3 -Output: + Output: 3 @@ -515,8 +629,8 @@ Output: ]]> - - + + For the special termlist name "xtargets", results are returned about the targets which have returned the most hits. @@ -535,9 +649,9 @@ Output: 0 -- Z39.50 diagnostic codes ]]> - + - + bytarget @@ -560,7 +674,7 @@ Output: - + Example output: - SEE ALSO + + SEE ALSO Pazpar2: @@ -605,15 +720,7 @@ search.pz2?session=605047297&command=bytarget&id=3