<!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;
]>
<refentry id="zebraidx">
 <refentryinfo>
  <productname>zebra</productname>
  <productnumber>&version;</productnumber>
  <orgname>Index Data</orgname>
 </refentryinfo>

 <refmeta>
  <refentrytitle>zebraidx</refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo class="manual">Commands</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>zebraidx</refname>
  <refpurpose>&zebra; Administrative Tool</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
  <cmdsynopsis>
   <command>zebraidx</command>
   <arg choice="opt"><option>-c <replaceable>config</replaceable></option></arg>
   <arg choice="opt"><option>-d <replaceable>database</replaceable></option></arg>
   <arg choice="opt"><option>-f <replaceable>number</replaceable></option></arg>
   <arg choice="opt"><option>-g <replaceable>group</replaceable></option></arg>
   <arg choice="opt"><option>-l <replaceable>file</replaceable></option></arg>
   <arg choice="opt"><option>-L</option></arg>
   <arg choice="opt"><option>-m <replaceable>mbytes</replaceable></option></arg>
   <arg choice="opt"><option>-n</option></arg>
   <arg choice="opt"><option>-s</option></arg>
   <arg choice="opt"><option>-v <replaceable>level</replaceable></option></arg>
   <arg choice="opt"><option>-t <replaceable>type</replaceable></option></arg>
   <arg choice="opt"><option>-v</option></arg>
   <arg choice="req"><replaceable>command</replaceable></arg>
   <arg choice="opt" rep="repeat"><replaceable>file</replaceable></arg>
  </cmdsynopsis>
 </refsynopsisdiv>

 <refsect1><title>DESCRIPTION</title>
  <para>
   <command>zebraidx</command> allows you to insert, delete or updates
   records in &zebra;. <command>zebraidx</command> accepts a set options
   (see below) and exactly one command (mandatory).
  </para>
 </refsect1>
 <refsect1>
  <title>COMMANDS</title>

  <variablelist>
   <varlistentry>
    <term>update <replaceable>directory</replaceable></term>
    <listitem>
     <para>
      Update the register with the files contained in
      <replaceable>directory</replaceable>.
      If no directory is provided, a list of files is read from
      <literal>stdin</literal>.
      See <link linkend="administration">Administration</link> in the &zebra;
      Manual.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>delete <replaceable>directory</replaceable></term>
    <listitem>
     <para>
      Remove the records corresponding to the files found under
      <replaceable>directory</replaceable> from the register.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>adelete <replaceable>directory</replaceable></term>
    <listitem>
     <para>
      Remove the records corresponding to the files found under
      <replaceable>directory</replaceable> from the register.
      Unlike command <literal>delete</literal> this command does not
      fail if a record does not exist (but which is attempted deleted).
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>commit</term>
    <listitem>
     <para>
      Write the changes resulting from the last <literal>update</literal>
      commands to the register. This command is only available if the use of
      shadow register files is enabled
      (see <link linkend="shadow-registers">Shadow Registers</link> in the
      &zebra; Manual).
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>check <replaceable>options</replaceable></term>
    <listitem><para>
      Runs consistency check of register. May take a long time.
      Options may be one of <literal>quick</literal>,
      <literal>default</literal> or <literal>full</literal>.
     </para></listitem>
   </varlistentry>
   <varlistentry>
    <term>clean</term>
    <listitem><para>
      Clean shadow files and "forget" changes.
     </para></listitem>
   </varlistentry>
   <varlistentry>
    <term>create <replaceable>database</replaceable></term>
    <listitem><para>
      Create database.
     </para></listitem>
   </varlistentry>
   <varlistentry>
    <term>drop <replaceable>database</replaceable></term>
    <listitem><para>
      Drop database (delete database).
     </para></listitem>
   </varlistentry>
   <varlistentry>
    <term>init</term>
    <listitem><para>
      Deletes an entire register (all files in shadow+register areas).
     </para></listitem>
   </varlistentry>
  </variablelist>
 </refsect1>
 <refsect1>
  <title>OPTIONS</title>
  <variablelist>

   <varlistentry>
    <term>-c <replaceable>config-file</replaceable></term>
    <listitem>
     <para>
      Read the configuration file
      <replaceable>config-file</replaceable> instead of
      <literal>zebra.cfg</literal>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-d <replaceable>database</replaceable></term>
    <listitem>
     <para>
      The records located should be associated with the database name
      <replaceable>database</replaceable> for access through the
      &acro.z3950; server.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-f <replaceable>number</replaceable></term>
    <listitem>
     <para>
      Specify how many per-record log lines, zebraidx, should produce during
      indexing and during register check (check command). If this option
      is not given, a value of 1000 is used.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-g <replaceable>group</replaceable></term>
    <listitem>
     <para>
      Update the files according to the group
      settings for <replaceable>group</replaceable>
      (see <link linkend="zebra-cfg">&zebra; Configuration File</link> in
      the &zebra; manual).
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-l <replaceable>file</replaceable></term>
    <listitem>
     <para>
      Write log messages to <replaceable>file</replaceable> instead
      of <literal>stderr</literal>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-L</term>
    <listitem>
     <para>
      Makes zebraidx skip symbolic links. By default, zebraidx follows
      them.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-m <replaceable>mbytes</replaceable></term>
    <listitem>
     <para>
      Use <replaceable>mbytes</replaceable> of memory before flushing
      keys to background storage. This setting affects performance when
      updating large databases.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-n</term>
    <listitem>
     <para>
      Disable the use of shadow registers for this operation
      (see <link linkend="shadow-registers">Shadow Registers in
       the &zebra; manual</link>).
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-s</term>
    <listitem>
     <para>
      Show analysis of the indexing process. The maintenance
      program works in a read-only mode and doesn't change the state
      of the index. This options is very useful when you wish to test a
      new profile.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-t <replaceable>type</replaceable></term>
    <listitem>
     <para>
      Update all files as <replaceable>type</replaceable>. Currently, the
      types supported are <literal>text</literal>, <literal>alvis</literal>
      and <literal>grs</literal><replaceable>.subtype</replaceable>.
      Generally, it is probably advisable to specify the record types
      in the <literal>zebra.cfg</literal> file (see
      <link linkend="record-types">Record Types</link> in the &zebra; manual),
      to avoid confusion at subsequent updates.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term>-V</term>
    <listitem>
     <para>
      Show &zebra; version.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>-v <replaceable>level</replaceable></term>
    <listitem>
     <para>
      Set the log level to <replaceable>level</replaceable>.
      <replaceable>level</replaceable> should be one of
      <literal>none</literal>, <literal>debug</literal>, and
      <literal>all</literal>.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>
 <refsect1><title>FILES</title>
  <para>
   <filename>zebra.cfg</filename>
  </para>
 </refsect1>
 <refsect1><title>SEE ALSO</title>
  <para>
   <citerefentry>
    <refentrytitle>zebrasrv</refentrytitle>
    <manvolnum>8</manvolnum>
   </citerefentry>
  </para>
 </refsect1>
</refentry>

<!-- 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: "idzebra.xml"
sgml-local-catalogs: nil
sgml-namecase-general:t
End:
-->
