yaz-client: increase default max message to 64 MB
[yaz-moved-to-github.git] / doc / yaz-client-man.xml
index ba3b9bb..d519970 100644 (file)
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-     <!ENTITY yaz-client-commands SYSTEM "yaz-client-commands.xml">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN" 
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"
+[
+     <!ENTITY % local SYSTEM "local.ent">
+     %local;
+     <!ENTITY % entities SYSTEM "entities.ent">
+     %entities;
+     <!ENTITY % idcommon SYSTEM "common/common.ent">
+     %idcommon;
 ]>
-<!-- $Id: yaz-client-man.xml,v 1.1 2003-10-27 12:21:24 adam Exp $ -->
 <refentry id="yaz-client">
+ <refentryinfo>
+  <productname>YAZ</productname>
+  <productnumber>&version;</productnumber>
+  <info><orgname>Index Data</orgname></info>
+ </refentryinfo>
  
  <refmeta>
   <refentrytitle>yaz-client</refentrytitle>
   <manvolnum>1</manvolnum>
+  <refmiscinfo class="manual">Commands</refmiscinfo>
  </refmeta>
  
  <refnamediv>
   <refname>yaz-client</refname>
-  <refpurpose>Z39.50/SRW client for implementors</refpurpose>
+  <refpurpose>Z39.50/SRU client for implementors</refpurpose>
  </refnamediv>
 
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>yaz-client</command>
-   <arg choice="opt"><option>-m <replaceable>filename</replaceable></option></arg>
-   <arg choice="opt"><option>-a <replaceable>filename</replaceable></option></arg>
-   <arg choice="opt"><option>-c <replaceable>filename</replaceable></option></arg>
-   <arg choice="opt"><option>-q <replaceable>filename</replaceable></option></arg>
-   <arg choice="opt"><option>-p <replaceable>addr</replaceable></option></arg>
-   <arg choice="opt"><option>-u <replaceable>auth</replaceable></option></arg>
+   <arg choice="opt"><option>-a <replaceable>apdulog</replaceable></option></arg>
+   <arg choice="opt"><option>-b <replaceable>berdump</replaceable></option></arg>
+   <arg choice="opt"><option>-c <replaceable>cclfile</replaceable></option></arg>
+   <arg choice="opt"><option>-d <replaceable>dump</replaceable></option></arg>
+   <arg choice="opt"><option>-f <replaceable>cmdfile</replaceable></option></arg>
    <arg choice="opt"><option>-k <replaceable>size</replaceable></option></arg>
+   <arg choice="opt"><option>-m <replaceable>marclog</replaceable></option></arg>
+   <arg choice="opt"><option>-p <replaceable>proxy-addr</replaceable></option></arg>
+   <arg choice="opt"><option>-q <replaceable>cqlfile</replaceable></option></arg>
+   <arg choice="opt"><option>-t <replaceable>dispcharset</replaceable></option></arg>
+   <arg choice="opt"><option>-u <replaceable>auth</replaceable></option></arg>
+   <arg choice="opt"><option>-v <replaceable>loglevel</replaceable></option></arg>
+   <arg choice="opt"><option>-V</option></arg>
    <arg choice="opt"><option>-x</option></arg>
-   <arg choice="opt">addr</arg>
-  </cmdsynopsis>
-
-  <cmdsynopsis>
-   <command>yaz-client-ssl</command>
-   <arg rep="repeat" choice="opt"><option>option</option></arg>
-   <arg choice="opt">addr</arg>
+   <arg choice="opt">server-addr</arg>
   </cmdsynopsis>
 
  </refsynopsisdiv>
   
-  <refsect1><title>DESCRIPTION</title>
-   <para>
-    <command>yaz-client</command> is a Z39.50/SRW client (origin) with a
-    simple command line interface that allows you to test behavior and
-    performance of Z39.50 targets and SRW servers.
-   </para>
-   <para>
-    <command>yaz-client-ssl</command> is identical to
-    <command>yaz-client</command> except that it supports SSL transport.
-   </para>
-   <para>
-    If the <replaceable>addr</replaceable> is specified, the client creates
-    a connection to the Z39.50/SRW target at the address.
-   </para>
-  </refsect1>
+ <refsect1><title>DESCRIPTION</title>
+  <para>
+   <command>yaz-client</command> is a
+   <ulink url="&url.z39.50;">Z39.50</ulink>/<ulink url="&url.sru;">SRU</ulink>
+   client (origin) with a simple command line interface that allows
+   you to test behavior and performance of Z39.50 targets and SRU servers.
+  </para>
+  <para>
+   From YAZ version 4.1.0 <command>yaz-client</command> may also operate as a
+   <ulink url="&url.solr;">SOLR</ulink> Web Service
+   client.
+  </para>
+  <para>
+   If the <replaceable>server-addr</replaceable> is specified, the client creates
+   a connection to the Z39.50/SRU target at the address given.
+  </para>
+  <para>
+   When <command>yaz-client</command> is started it tries to read
+   commands from one of the following files:
+   <itemizedlist>
+    <listitem><para>
+      Command file if it is given by option -f. 
+     </para></listitem>
+    <listitem><para>
+      <filename>.yazclientrc</filename> in current working directory.
+     </para></listitem>
+    <listitem><para>
+      <filename>.yazclientrc</filename> in the user's home directory.
+      The value of the <literal>HOME</literal> is used to determine
+      the home directory. Normally, <literal>HOME</literal> is only set
+      on POSIX systems such as Linux, FreeBSD, Solaris.
+     </para></listitem>
+   </itemizedlist>
+  </para>
+ </refsect1>
   <refsect1>
    <title>OPTIONS</title>
    <variablelist>
     <varlistentry>
-     <term>-m <replaceable>filename</replaceable></term>
-     <listitem><para>
-       If specified, retrieved MARC (ISO2709) records will
-       be appended to the file given.
-      </para></listitem>
-    </varlistentry>
-    <varlistentry>
      <term>-a <replaceable>filename</replaceable></term>
      <listitem><para>
        If specified, logging of protocol packages will be appended
-       file given. The special filename <literal>-</literal>
-       (dash) denotes standard output.
+       file given. If <replaceable>filename</replaceable> is
+       specified as <literal>-</literal>, the output is written
+       to <literal>stdout</literal>.
       </para></listitem>
     </varlistentry>
     <varlistentry>
-     <term>-u <replaceable>auth</replaceable></term>
+     <term>-b <replaceable>filename</replaceable></term>
      <listitem><para>
-       If specified, the <replaceable>auth</replaceable> string
-       will be used for authentication.
+       If specified, YAZ will dump BER data in readable notation
+       to the file specified. If <replaceable>filename</replaceable>
+       is specified as <literal>-</literal> the output is written
+       to <literal>stdout</literal>.
       </para></listitem>
     </varlistentry>
     <varlistentry>
       </para></listitem>
     </varlistentry>
     <varlistentry>
-     <term>-q <replaceable>filename</replaceable></term>
+     <term>-d <replaceable>dump</replaceable></term>
      <listitem><para>
-       If specified, CQL configuration will be read from
-       the file given.
+       If specified, YAZ will dump BER data for all PDUs sent and received 
+       to individual files, named
+       <replaceable>dump</replaceable>.DDD.<literal>raw</literal>, 
+       where DDD is 001, 002, 003, ..
       </para></listitem>
     </varlistentry>
 
     <varlistentry>
-     <term>-p <replaceable>addr</replaceable></term>
+     <term>-f <replaceable>cmdfile</replaceable></term>
      <listitem><para>
-       If specified, the client will use the proxy at the address
-       given.
+      Reads commands from <replaceable>cmdfile</replaceable>. When
+      this option is used, YAZ client does not read .yazclientrc
+      from current directory or home directory.
       </para></listitem>
     </varlistentry>
 
      <term>-k <replaceable>size</replaceable></term>
      <listitem><para>
       Sets preferred messages and maximum record size for Initialize
-      Request in kilobytes. Default value is 1024 (1 MB).
+      Request in kilobytes. Default value is 65536 (64 MB).
       </para></listitem>
     </varlistentry>
-
     <varlistentry>
-     <term>-x</term>
-    <listitem><para>
-      Makes the YAZ client print hex dumps of packages sent and received
-      on standard output.
+     <term>-m <replaceable>filename</replaceable></term>
+     <listitem><para>
+       If specified, retrieved records will be appended to the file given.
       </para></listitem>
     </varlistentry>
+    <varlistentry>
+     <term>-p <replaceable>proxy-addr</replaceable></term>
+     <listitem><para>
+       If specified, the client will use the proxy at the address
+       given. YAZ client will
+       connect to a proxy on the address and port given. 
+       The actual target will be specified as part of the InitRequest
+       to inform the proxy about actual target.
+      </para></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>-q <replaceable>filename</replaceable></term>
+     <listitem><para>
+       If specified, CQL configuration will be read from
+       the file given.
+      </para></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>-t <replaceable>displaycharset</replaceable></term>
+     <listitem><para>
+       If displaycharset is given, it specifies name of the character set of the
+       output (on the terminal on which YAZ client is running). 
+      </para></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>-u <replaceable>auth</replaceable></term>
+     <listitem><para>
+       If specified, the <replaceable>auth</replaceable> string
+       will be used for authentication.
+      </para></listitem>
+    </varlistentry>
+    <varlistentry><term>
+      <literal>-v</literal> <replaceable>level</replaceable>
+     </term><listitem>
+      <simpara>Sets the LOG level to <replaceable>level</replaceable>.
+       Level is a sequence of tokens separated by comma. Each token
+       is a integer or a named LOG item - one of 
+       <literal>fatal</literal>,
+       <literal>debug</literal>,
+       <literal>warn</literal>,
+       <literal>log</literal>,
+       <literal>malloc</literal>,
+       <literal>all</literal>,
+       <literal>none</literal>.
+      </simpara></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>-V</term>
+     <listitem><para>
+       Prints YAZ version.
+     </para></listitem>
+    </varlistentry>
+    <varlistentry>
+     <term>-x</term>
+     <listitem><para>
+       Makes the YAZ client print hex dumps of packages sent and received
+       on standard output.
+       </para></listitem>
+    </varlistentry>
    </variablelist>
   </refsect1>
   <refsect1>
    </para>
    &yaz-client-commands;
    </refsect1>
+ <refsect1><title>EXAMPLE</title>
+  <para>
+   The simplest example of a Prefix Query would be something like
+   <screen>
+    f knuth
+   </screen>
+   or
+   <screen>
+    f "donald knuth"
+   </screen>
+   In those queries no attributes was specified.
+   This leaves it up to the server what fields to search but
+   most servers will search in all fields. Some servers does not
+   support this feature though, and require that some attributes
+   are defined. To add one attribute you could do:
+   <screen>
+    f @attr 1=4 computer
+   </screen>
+   where we search in the title field, since the use(1) is title(4).
+   If we want to search in the author field <emphasis>and</emphasis>
+   in the title field, and in the title field using right truncation
+   it could look something like this:
+   <screen>
+    f @and @attr 1=1003 knuth @attr 1=4 @attr 5=1 computer
+   </screen>
+   Finally using a mix of Bib-1 and GILS attributes could look
+   something like this:
+   <screen>
+    f @attrset Bib-1 @and @attr GILS 1=2008 Washington @attr 1=21 weather
+   </screen>
+  </para>
+ </refsect1>
   <refsect1><title>FILES</title>
    <para>
     <filename>yaz-&lt;version&gt;/client/client.c</filename>
    </para>
+   <para>
+    <filename>$HOME/.yazclientrc</filename>
+   </para>
+   <para>
+    <filename>$HOME/.yazclient.history</filename>
+   </para>
   </refsect1>
   <refsect1><title>SEE ALSO</title>
    <para>
      <refentrytitle>yaz</refentrytitle>
      <manvolnum>7</manvolnum>
     </citerefentry>
-   </para>
-   <para>
-    Section "The YAZ Client" in the YAZ manual.
-   </para>
-   <para id="PQF">
-    Section "Prefix Query Format" in the YAZ manual.
-   </para>
-   <para id="CCL">
-    Section "Common Command Language" in the YAZ manual.
-   </para>
-   <para id="CQL">
-    Section "Common QUery Language" in the YAZ manual.
+    <citerefentry>
+     <refentrytitle>bib1-attr</refentrytitle>
+     <manvolnum>7</manvolnum>
+    </citerefentry>
    </para>
   </refsect1>
 </refentry>