X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fpazpar2_protocol.xml;h=d332a6248516a7bf9ec600adbd288255cbc39a36;hb=022710cf16caff9ab16cf3375e222f335b4e4327;hp=5d25969cafbfb96ee8612cd389126cc694996dba;hpb=7a5cac30f329a9abdb11c24888600a044ef3a4b5;p=pazpar2-moved-to-github.git diff --git a/doc/pazpar2_protocol.xml b/doc/pazpar2_protocol.xml index 5d25969..d332a62 100644 --- a/doc/pazpar2_protocol.xml +++ b/doc/pazpar2_protocol.xml @@ -1,22 +1,24 @@ - + %local; %entities; - - %common; + + %idcommon; ]> - 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,10 +66,37 @@ ]]> - The + 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 + + + If this is defined and the value is non-zero, the session will + not use the predefined databases in the configuration; only those + specified in the settings parameters (per session databases). + + + + + + service + + + If this is defined it specifies a service ID. Makes the session use + the service with this ID. If this is setting is omitted, the + session will use the unnamed service in the Pazpar2 configuration. + + + + + - 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 @@ -84,7 +118,50 @@ ]]> - search + + settings + + The settings command applies session-specific settings to one or more + databases. A typical function of this is to enable access to + restricted resources for registered users, or to set a user- or + library-specific username/password to use against a target. Each + setting parameter has the form name[target]=value, where name is the + name of the setting (e.g. pz:authentication), target is a target ID, + or possibly a wildcard, and value is the desired value for the + setting. + + + + Because the settings command manipulates potentially sensitive + information, it is possible to configure Pazpar2 to only allow access + to this command from a trusted site -- usually from server-side + scripting, which in turn is responsible for authenticating the user, + and possibly determining which resources he has access to, etc. + + + + + As a shortcut, it is also possible to override settings directly in + the init command. + + + + + Example: + + Response: + + OK + +]]> + + + + + search Launches a search, parameters: @@ -105,6 +182,56 @@ + + filter + + + 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 + (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. + + + + + limit + + + Narrows the search by one or more fields (typicall facets). + The limit is sequence of one or more field=value pairs separate + by comma. + A value that contains a comma should be escaped by backslash (\). + The pz:fazetmap configuration item defines how the searches are + mapped to a database. + + + + + startrecs + + + Specifies the first record to retrieve from each target. + The first record in a result set for a target is numbered 0, next + record is numbered 2. By default maxrecs is 0. + + + + + maxrecs + + + Specifies the maximum number of records to retrieve from each + target. The default value is 100. This setting has same meaning + as per-target setting pz:maxrecs . If pz:maxrecs is set, it takes + precedence over argument maxrecs. + + + @@ -175,7 +302,7 @@ search.pz2?session=2044502273&command=stat Session ID - + @@ -199,27 +326,29 @@ 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. - 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' or '1', indicating whether results should be sorted in - increasing or decreasing order according to that field. 0==Decreasing is - the default. - - - - + 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' 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'. + + + + @@ -256,15 +385,17 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 record - Retrieves a detailed record. Parameters: - + Retrieves a detailed record. Unlike the + show command, this command + returns metadata records before merging takes place. Parameters: + session Session ID - + @@ -277,6 +408,62 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 + + + offset + + + 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. + + + When offset is not given the Pazpar2 metadata for the record + is returned and with metadata for each targets' data specified + in a 'location' list. + + + + + + syntax + + + This optional parameter is the record syntax used for raw + transfer (i.e. when offset is specified). If syntax is not given, + but offset is used, the value of pz:requestsyntax is used. + + + + + + esn + + + This optional parameter is the element set name used to retrieval + of a raw record (i.e. when offset is specified). + If esn is not given, but offset is used, the value of pz:elements + is used. + + + + + + binary + + + 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. + + + + @@ -296,7 +483,6 @@ search.pz2?session=605047297&command=record&id=3 Mairs, John W. Cartography - @@ -305,17 +491,40 @@ search.pz2?session=605047297&command=record&id=3 termlist Retrieves term list(s). Parameters: - -session -name -- comma-separated list of termlist names (default "subject") - + + + + session + + + Session Id. + + + + + name + + + comma-separated list of termlist names (default "subject") + + + + + num + + + maximum number of entries to return - default is 15. + + + + Example: -Output: + Output: 3 @@ -337,8 +546,8 @@ Output: ]]> - - + + For the special termlist name "xtargets", results are returned about the targets which have returned the most hits. @@ -357,9 +566,9 @@ Output: 0 -- Z39.50 diagnostic codes ]]> - + - + bytarget @@ -371,7 +580,7 @@ Output: session - Session Id. + Session Id. @@ -380,9 +589,9 @@ Output: Example: - + Example output: ]]> - - The following client states are defined: Client_Connecting, - Client_Connected, Client_Idle, Client_Initializing, Client_Searching, - Client_Searching, Client_Presenting, Client_Error, Client_Failed, - Client_Disconnected, Client_Stopped. + + The following client states are defined: Client_Connecting, + Client_Connected, Client_Idle, Client_Initializing, Client_Searching, + Client_Searching, Client_Presenting, Client_Error, Client_Failed, + Client_Disconnected, Client_Stopped, Client_Continue. + + SEE ALSO + + Pazpar2: + + pazpar2 + 8 + + + + Pazpar2 Configuration: + + pazpar2_conf + 5 + + +