<refpurpose>The webservice protocol of Pazpar2</refpurpose>
</refnamediv>
- <refsect1><title>DESCRIPTION</title>
+ <refsect1>
+ <title>DESCRIPTION</title>
<para>
Webservice requests are any that refer to filename "search.pz2". Arguments
are GET-style parameters. Argument 'command' is always required and specifies
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.
</para>
<para>
Each command is described in sub sections to follow.
</para>
- <refsect2 id="command-init"><title>init</title>
+ <refsect2 id="command-init">
+ <title>init</title>
<para>
Initializes a session.
Returns session ID to be used in subsequent requests. If
</init>
]]></screen>
<para>
- 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:
<variablelist>
<varlistentry>
<term>clear</term>
</para>
</refsect2>
- <refsect2 id="command-ping"><title>ping</title>
+ <refsect2 id="command-ping">
+ <title>ping</title>
<para>
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
<para>
Example:
<screen><![CDATA[
- search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
+search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
]]></screen>
Response:
<screen><![CDATA[
<status>OK</status>
</settings>
]]></screen>
- </para>
-
+ </para>
+
</refsect2>
- <refsect2 id="command-search"><title>search</title>
+ <refsect2 id="command-search">
+ <title>search</title>
<para>
Launches a search, parameters:
-
+
<variablelist>
<varlistentry>
<term>session</term>
<para>
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
+ <emphasis>setting</emphasis>+<emphasis>operator</emphasis>+<emphasis>args</emphasis>
+ pairs. The <emphasis>setting</emphasis> is a Pazpar2 setting
(such as <literal>pz:id</literal>).
- 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 <emphasis>operator</emphasis> is either
+ <literal>=</literal> (string match)
+ or <literal>~</literal> (substring match).
+ The <emphasis>args</emphasis> is a list of values separated
+ by <literal>|</literal> (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.
</para>
</listitem>
</varlistentry>
<term>limit</term>
<listitem>
<para>
- Narrows the search by one or more facet fields. 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 (\).
+ Narrows the search by one or more fields (typically facets).
+ The limit is sequence of one or more
+ <emphasis>name</emphasis>=<emphasis>args</emphasis> pairs separated
+ by comma. The <emphasis>args</emphasis> is a list of values
+ separated by vertical bar (<literal>|</literal>).
+ The meaning of <literal>|</literal> is alternative, ie OR .
+ A value that contains a comma (<literal>,</literal>),
+ a vertical bar (<literal>|</literal>) or
+ backslash itself must be preceded by backslash (<literal>\</literal>).
+ The <link linkend="limitmap">pz:limitmap</link> configuration
+ item defines how the searches are mapped to a database.
</para>
</listitem>
</varlistentry>
<listitem>
<para>
Session ID
- </para>
+ </para>
</listitem>
</varlistentry>
<term>block</term>
<listitem>
<para>
- 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.
</para>
</listitem>
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 default.
+ 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'.
+ </para>
+ <para>
+ For targets where If <link linkend="pz:sortmap">pz:sortmap</link>
+ is defined, a sort operation will be executed (possibly including
+ extending the search).
</para>
</listitem>
</varlistentry>
Retrieves a detailed record. Unlike the
<link linkend="command-show">show</link> command, this command
returns metadata records before merging takes place. Parameters:
-
+
<variablelist>
<varlistentry>
<term>session</term>
<term>name</term>
<listitem>
<para>
- comma-separated list of termlist names (default "subject")
+ comma-separated list of termlist names. If omitted,
+ all termlists are returned.
</para>
</listitem>
</varlistentry>
<screen><![CDATA[
search.pz2?session=2044502273&command=termlist&name=author,subject
]]></screen>
-Output:
+ Output:
<screen><![CDATA[
<termlist>
<activeclients>3</activeclients>
</list>
</termlist>
]]></screen>
- </para>
-
+ </para>
+
<para>
For the special termlist name "xtargets", results
are returned about the targets which have returned the most hits.
<diagnostic>0</diagnostic> -- Z39.50 diagnostic codes
</term>
]]></screen>
- </para>
+ </para>
</refsect2>
-
+
<refsect2 id="command-bytarget">
<title>bytarget</title>
<screen><![CDATA[
search.pz2?session=605047297&command=bytarget&id=3
]]></screen>
-
+
Example output:
<screen><![CDATA[
</refsect2>
</refsect1>
- <refsect1><title>SEE ALSO</title>
+ <refsect1>
+ <title>SEE ALSO</title>
<para>
Pazpar2:
<citerefentry>
<!-- Keep this comment at the end of the file
Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-local-catalogs: nil
-sgml-namecase-general:t
+mode: nxml
+nxml-child-indent: 1
End:
-->