X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=doc%2Fpazpar2_protocol.xml;h=75402241715882efc692659ddda0797f05be8e8c;hb=194b8961ce560e233440017a65ec1758b3e6b5ec;hp=b8031b5cc1a3591ab773e7cd72164b074a9ad221;hpb=2d6ca35bd10a7cd633ab471ebbb146d25d8c29b0;p=pazpar2-moved-to-github.git
diff --git a/doc/pazpar2_protocol.xml b/doc/pazpar2_protocol.xml
index b8031b5..7540224 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.
@@ -47,8 +47,21 @@
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.
+ a server ID is given in the Pazpar2 server section, then
+ 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,14 +210,17 @@ 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
- setting+operator+args pairs. The setting is a Pazpar2 setting
+ filter. The filter consists of 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.
+ 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.
@@ -202,12 +228,17 @@ search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
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:limitmap configuration item defines how the searches are
- mapped to a database.
+ 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.
@@ -217,7 +248,7 @@ search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
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.
+ record is numbered 1. By default startrecs is 0.
@@ -232,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.
+
+
+
+
@@ -249,7 +348,7 @@ search.pz2?session=2044502273&command=search&query=computer+science
]]>
-
+
stat
@@ -291,7 +390,7 @@ search.pz2?session=2044502273&command=stat
]]>
-
+
show
@@ -305,14 +404,14 @@ search.pz2?session=2044502273&command=stat
-
+
startFirst record to show - 0-indexed.
-
+
num
@@ -340,16 +439,86 @@ 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.
+ 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).
+
+
+
+
+
+ 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.
+
+
+
+
@@ -368,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
@@ -386,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
@@ -415,26 +584,61 @@ 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
- 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.
@@ -458,23 +662,37 @@ 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.
+
+
+
+
+
+ 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:
-
+
@@ -488,11 +706,18 @@ search.pz2?session=605047297&command=record&id=3
+
+ stop
+
+ Makes Pazpar2 stop further search & retrieval for busy databases.
+
+
+
termlist
Retrieves term list(s). Parameters:
-
+
session
@@ -506,7 +731,8 @@ 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.
@@ -548,7 +774,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.
@@ -569,7 +795,7 @@ search.pz2?session=2044502273&command=termlist&name=author,subject
]]>
-
+
bytarget
@@ -587,14 +813,14 @@ search.pz2?session=2044502273&command=termlist&name=author,subject
-
+
Example:
-
+
Example output:
-
+
OK
@@ -608,7 +834,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,
@@ -616,6 +842,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