X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fpazpar2_protocol.xml;h=4c525fb38602c00ddf038524c93deeeb444fbfd4;hb=4fa5ef817d20e5b626751b8b12934453bb438cfd;hp=e6763e254e184804973624ed841c9c1118654cac;hpb=5720f0e03c2322d84bd45343bb9b407d3a6c2436;p=pazpar2-moved-to-github.git diff --git a/doc/pazpar2_protocol.xml b/doc/pazpar2_protocol.xml index e6763e2..4c525fb 100644 --- a/doc/pazpar2_protocol.xml +++ b/doc/pazpar2_protocol.xml @@ -37,7 +37,7 @@ 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. + in Pazpar2. Each command is described in sub sections to follow. @@ -48,7 +48,20 @@ Initializes a session. 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. + that is included in the session ID as suffix after a period (.). + + + If the init command is performed as a HTTP GET request, service + and settings from local files are used. The service parameter + may chose a particular local service. + + + If the init command is performed as a HTTP POST request and + the content-type is text/xml, then the content is XML parsed + and treated as service for the session. The root element should be + service. Refer to descripton of the + service format. + The posting of a service appeared in Pazpar2 version 1.2.1. Example: @@ -94,7 +107,7 @@ - + ping @@ -124,13 +137,15 @@ 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 + 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 @@ -138,14 +153,22 @@ 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. - + + + If the settings command is performed as HTTP POST and the content-type + is text/xml, then the content is XML parsed and treated as settings - + with a format identical to local + settings files. + The posting of settings appeared in Pazpar version 1.2.1. + + Example: ]]> - + search @@ -187,7 +210,7 @@ search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1 Limits the search to a given set of targets specified by the - filter. The filter consists a comma separated list of + filter. The filter consists of a comma separated list of setting+operator+args pairs. The setting is a Pazpar2 setting (such as pz:id). @@ -240,6 +263,74 @@ search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1 + + 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. + + + + + + mergekey + + + Sets mergekey for this search and rest of session, or until + another mergekey is given for show/search. The mergekey value is a + comma separated list with one or more names as they appear + in the service description equivalent to + mergekey="optional" inside a metadata element. + If the empty string is given for mergekey it is disabled + and rest of session will use the default mergekey from service + or stylesheet. + + + This facility, "dynamic mergekey", appeared in Pazpar2 version + 1.6.31. + + + + + + rank + + + Sets rank method this search and rest of session, or until + another rank is given for show/search. The rank value is a + comma separated list of pairs field=value pairs. The + format is the same as + rank for a metadata element. + If the empty string is given for rank it is disabled + and rest of session will use the default rank from metadata or + stylesheet. + + + This facility, "dynamic ranking", appeared in Pazpar2 version + 1.6.31. + + + + @@ -257,7 +348,7 @@ search.pz2?session=2044502273&command=search&query=computer+science ]]> - + stat @@ -299,7 +390,7 @@ search.pz2?session=2044502273&command=stat ]]> - + show @@ -313,14 +404,14 @@ search.pz2?session=2044502273&command=stat - + start First record to show - 0-indexed. - + num @@ -355,13 +446,79 @@ search.pz2?session=2044502273&command=stat 'position'. - For targets where If pz:sortmap + 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). - + + + mergekey + + + Sets mergekey for this show and rest of session, or until + another mergekey is given for show/search. The mergekey value is a + comma separated list with one or more names as they appear + in the service description equivalent to + mergekey="optional" inside a metadata element. + If the empty string is given for mergekey it is disabled + and rest of session will use the default mergekey from service + or stylesheet. + + + This facility, "dynamic mergekey", appeared in Pazpar2 version + 1.6.31. + + + + + + rank + + + Sets rank method this show and rest of session, or until + another rank is given for show/search. The rank value is a + comma separated list of pairs field=value pairs. The + format is the same as + rank for a metadata element. + If the empty string is given for rank it is disabled + and rest of session will use the default rank from metadata or + stylesheet. + + + This facility, "dynamic ranking", appeared in Pazpar2 version + 1.6.31. + + + + + + snippets + + + If specified and set to 1 data will include snippets marked + with <match> tags. Otherwise snippets will not be included. + + + This facility, "snippets", appeared in Pazpar2 version + 1.6.32. + + + + @@ -380,7 +537,7 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 2 -- Number of records retrieved How to program a computer, by Jack Collins - 2 -- Number of merged records + 2 -- Number of merged records 6 -- Record ID for this record @@ -398,10 +555,10 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 record - Retrieves a detailed record. Unlike the - show command, this command + Retrieves a detailed record. Unlike the + show command, this command returns metadata records before merging takes place. Parameters: - + session @@ -481,7 +638,7 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 syntax - This optional parameter is the record syntax used for raw + 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. @@ -512,16 +669,30 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1 + + snippets + + + If specified and set to 1 data will include snippets marked + with <match> tags. Otherwise snippets will not be included. + + + This facility, "snippets", appeared in Pazpar2 version + 1.6.32. + + + + - + Example: Example output: - + @@ -539,7 +710,7 @@ search.pz2?session=605047297&command=record&id=3 termlist Retrieves term list(s). Parameters: - + session @@ -596,7 +767,7 @@ search.pz2?session=2044502273&command=termlist&name=author,subject ]]> - + For the special termlist name "xtargets", results are returned about the targets which have returned the most hits. @@ -617,7 +788,7 @@ search.pz2?session=2044502273&command=termlist&name=author,subject ]]> - + bytarget @@ -635,14 +806,14 @@ search.pz2?session=2044502273&command=termlist&name=author,subject - + Example: - + Example output: - + OK @@ -656,7 +827,7 @@ search.pz2?session=605047297&command=bytarget&id=3 ]]> - + The following client states are defined: Client_Connecting, Client_Connected, Client_Idle, Client_Initializing, Client_Searching, Client_Searching, Client_Presenting, Client_Error, Client_Failed, @@ -664,6 +835,25 @@ search.pz2?session=605047297&command=bytarget&id=3 + + service + + Returns service definition (XML). Parameters: + + + session + + + Session ID + + + + + + + The service command appeared in Pazpar2 version 1.6.32 + + SEE ALSO