Update m4
[idzebra-moved-to-github.git] / doc / introduction.xml
index ef9ffee..69938cb 100644 (file)
@@ -1,5 +1,4 @@
 <chapter id="introduction">
- <!-- $Id: introduction.xml,v 1.47 2007-02-05 14:02:27 marc Exp $ -->
  <title>Introduction</title>
  
  <section id="overview">
@@ -7,10 +6,10 @@
   
       <para>
         &zebra; is a free, fast, friendly information management system. It can
-        index records in &xml;/&sgml;, &marc;, e-mail archives and many other
+        index records in &acro.xml;/&acro.sgml;, &acro.marc;, e-mail archives and many other
         formats, and quickly find them using a combination of boolean
         searching and relevance ranking. Search-and-retrieve applications can
-        be written using &api;s in a wide variety of languages, communicating
+        be written using &acro.api;s in a wide variety of languages, communicating
         with the &zebra; server using industry-standard information-retrieval
         protocols or web services. 
       </para>
         code is open to anybody to read and change under the GPL license.  
       </para>
       <para>
-        &zebra; is a networked component which acts as a reliable &z3950; server 
+        &zebra; is a networked component which acts as a 
+        reliable &acro.z3950; server 
         for both record/document search, presentation, insert, update and 
-        delete operations. In addition, it understands the &sru; family of 
-        webservices, which exist in &rest; &get;/&post; and truly &soap; flavors.
+        delete operations. In addition, it understands the &acro.sru; family of 
+        webservices, which exist in &acro.rest; &acro.get;/&acro.post; and truly
+        &acro.soap; flavors. 
       </para>
       <para>
         &zebra; is available as MS Windows 2003 Server (32 bit) self-extracting
@@ -42,7 +43,7 @@
    <ulink url="http://indexdata.dk/zebra/">&zebra;</ulink>
    is a high-performance, general-purpose structured text
    indexing and retrieval engine. It reads records in a
-   variety of input formats (eg. email, &xml;, &marc;) and provides access
+   variety of input formats (e.g. email, &acro.xml;, &acro.marc;) and provides access
    to them through a powerful combination of boolean search
    expressions and relevance-ranked free-text queries.
   </para>
    &zebra; supports large databases (tens of millions of records,
    tens of gigabytes of data). It allows safe, incremental
    database updates on live systems. Because &zebra; supports
-   the industry-standard information retrieval protocol, &z3950;,
+   the industry-standard information retrieval protocol, &acro.z3950;,
    you can search &zebra; databases using an enormous variety of
    programs and toolkits, both commercial and free, which understand
    this protocol.  Application libraries are available to allow
    bespoke clients to be written in Perl, C, C++, Java, Tcl, Visual
-   Basic, Python, &php; and more - see the
-   <ulink url="&url.zoom;">&zoom; web site</ulink>
+   Basic, Python, &acro.php; and more - see the
+   <ulink url="&url.zoom;">&acro.zoom; web site</ulink>
    for more information on some of these client toolkits.
   </para>
 
      <tbody>
       <row>
        <entry>Complex semi-structured Documents</entry>
-       <entry>&xml; and &grs1; Documents</entry>
-       <entry>Both &xml; and &grs1; documents exhibit a &dom; like internal
+       <entry>&acro.xml; and &acro.grs1; Documents</entry>
+       <entry>Both &acro.xml; and &acro.grs1; documents exhibit a &acro.dom; like internal
        representation allowing for complex indexing and display rules</entry>
        <entry><xref linkend="record-model-alvisxslt"/> and 
        <xref linkend="grs"/></entry>
       </row>
       <row>
        <entry>Input document formats</entry>
-       <entry>&xml;, &sgml;, Text, ISO2709 (&marc;)</entry>
+       <entry>&acro.xml;, &acro.sgml;, Text, ISO2709 (&acro.marc;)</entry>
        <entry>
         A system of input filters driven by
         regular expressions allows most ASCII-based
         data formats to be easily processed.
-        &sgml;, &xml;, ISO2709 (&marc;), and raw text are also
+        &acro.sgml;, &acro.xml;, ISO2709 (&acro.marc;), and raw text are also
         supported.</entry>
        <entry><xref linkend="componentmodules"/></entry>
       </row>
      <tbody>
       <row>
        <entry>Query languages</entry>
-       <entry>&cql; and &rpn;/&pqf;</entry>
-       <entry>The type-1 Reverse Polish Notation (&rpn;)
-       and it's textual representation Prefix Query Format (&pqf;) are
-       supported. The Common Query Language (&cql;) can be configured as
-       a mapping from &cql; to &rpn;/&pqf;</entry>
+       <entry>&acro.cql; and &acro.rpn;/&acro.pqf;</entry>
+       <entry>The type-1 Reverse Polish Notation (&acro.rpn;)
+       and its textual representation Prefix Query Format (&acro.pqf;) are
+       supported. The Common Query Language (&acro.cql;) can be configured as
+       a mapping from &acro.cql; to &acro.rpn;/&acro.pqf;</entry>
        <entry><xref linkend="querymodel-query-languages-pqf"/> and 
        <xref linkend="querymodel-cql-to-pqf"/></entry>
       </row>
       <row>
        <entry>Complex boolean query tree</entry>
-       <entry>&cql; and &rpn;/&pqf;</entry>
-       <entry>Both &cql; and &rpn;/&pqf; allow atomic query parts (&apt;) to
+       <entry>&acro.cql; and &acro.rpn;/&acro.pqf;</entry>
+       <entry>Both &acro.cql; and &acro.rpn;/&acro.pqf; allow atomic query parts (&acro.apt;) to
        be combined into complex boolean query trees</entry>
        <entry><xref linkend="querymodel-rpn-tree"/></entry>
       </row>
       <row>
        <entry>Field search</entry>
        <entry>user defined</entry>
-       <entry>Atomic query parts (&apt;) are either general, or
+       <entry>Atomic query parts (&acro.apt;) are either general, or
        directed at user-specified document fields
       </entry>
        <entry><xref linkend="querymodel-atomic-queries"/>, 
        <entry>Predefined field types</entry>
        <entry>user defined</entry>
        <entry>Data fields can be indexed as phrase, as into word
-       tokenized text, as numeric values, url's, dates, and raw binary
+       tokenized text, as numeric values, URLs, dates, and raw binary
        data.</entry> 
        <entry><xref linkend="character-map-files"/> and
               <xref linkend="querymodel-pqf-apt-mapping-structuretype"/>
        <entry>Regular expression matching</entry>
        <entry>available</entry>
        <entry>Full regular expression matching and "approximate
-        matching" (eg. spelling mistake corrections) are handled.</entry>
+        matching" (e.g. spelling mistake corrections) are handled.</entry>
        <entry><xref linkend="querymodel-regular"/></entry>
       </row>
       <row>
        <entry>term suggestions</entry>
        <entry><literal>Scan</literal> on a given named index returns all the 
           indexed terms in lexicographical order near the given start
-       term. This can be used to create drop-down menues and search 
+       term. This can be used to create drop-down menus and search 
        suggestions.</entry>
        <entry><xref linkend="querymodel-operation-type-scan"/> and 
        <xref linkend="querymodel-atomic-queries"/>
       </row>
       <row>
        <entry>Facetted browsing</entry>
-       <entry>partial</entry>
-       <entry>&zebra; supports <literal>scan inside a hit 
-          set</literal> from a previous search, thus reducing the listed 
-          terms to the 
-          subset of terms found in the documents/records of the hit
-       set.</entry> 
+       <entry>available</entry>
+       <entry>Zebra 2.1 and allows retrieval of facets for
+        a result set.
+       </entry> 
        <entry><xref linkend="querymodel-zebra-attr-scan"/></entry>
       </row>
       <row>
        <entry></entry>
       </row>
       <row>
-       <entry>&xml; document transformations</entry>
-       <entry>&xslt; based</entry>
+       <entry>&acro.xml; document transformations</entry>
+       <entry>&acro.xslt; based</entry>
        <entry> Record presentation can be performed in many
-       pre-defined &xml; data 
-          formats, where the original &xml; records are on-the-fly transformed
-          through any preconfigured &xslt; transformation. It is therefore
-          trivial to present records in short/full &xml; views, transforming to
-          RSS, Dublin Core, or other &xml; based data formats, or transform
+       pre-defined &acro.xml; data 
+          formats, where the original &acro.xml; records are on-the-fly transformed
+          through any preconfigured &acro.xslt; transformation. It is therefore
+          trivial to present records in short/full &acro.xml; views, transforming to
+          RSS, Dublin Core, or other &acro.xml; based data formats, or transform
           records to XHTML snippets ready for inserting in XHTML pages.</entry>
        <entry> 
        <xref linkend="record-model-alvisxslt-elementset"/></entry>
       </row>
       <row>
        <entry>Binary record transformations</entry>
-       <entry>&marc;, &usmarc;, &marc21; and &marcxml;</entry>
+       <entry>&acro.marc;, &acro.usmarc;, &acro.marc21; and &acro.marcxml;</entry>
        <entry>post-filter record transformations</entry>
        <entry></entry>
       </row>
        <entry>Record Syntaxes</entry>
        <entry></entry>
        <entry> Multiple record syntaxes
-      for data retrieval: &grs1;, &sutrs;,
-      &xml;, ISO2709 (&marc;), etc. Records can be mapped between
+      for data retrieval: &acro.grs1;, &acro.sutrs;,
+      &acro.xml;, ISO2709 (&acro.marc;), etc. Records can be mapped between
        record syntaxes and schemas on the fly.</entry>
        <entry></entry>
       </row>
        <entry>&zebra; internal metadata</entry>
        <entry>yes</entry>
        <entry> &zebra; internal document metadata can be fetched in
-       &sutrs; and &xml; record syntaxes. Those are useful in client
+       &acro.sutrs; and &acro.xml; record syntaxes. Those are useful in client
        applications.</entry>
        <entry><xref linkend="special-retrieval"/></entry>
       </row>
        <entry>&zebra; internal raw record data</entry>
        <entry>yes</entry>
        <entry> &zebra; internal raw, binary record data can be fetched in
-       &sutrs; and &xml; record syntaxes, leveraging %zebra; to a
+       &acro.sutrs; and &acro.xml; record syntaxes, leveraging %zebra; to a
        binary storage system</entry>
        <entry><xref linkend="special-retrieval"/></entry>
       </row>
        <entry>&zebra; internal record field data</entry>
        <entry>yes</entry>
        <entry> &zebra; internal record field data can be fetched in
-       &sutrs; and &xml; record syntaxes. This makes very fast minimal
+       &acro.sutrs; and &acro.xml; record syntaxes. This makes very fast minimal
        record data displays possible.</entry>
        <entry><xref linkend="special-retrieval"/></entry>
       </row>
       </row>
       <row>
        <entry>Remote updates</entry>
-       <entry>&z3950; extended services</entry>
+       <entry>&acro.z3950; extended services</entry>
        <entry>Updates can be performed from remote locations using the
-       &z3950; extended services. Access to extended services can be
+       &acro.z3950; extended services. Access to extended services can be
        login-password protected.</entry>
        <entry><xref linkend="administration-extended-services"/> and 
               <xref linkend="zebra-cfg"/></entry>
      <tbody>
       <row>
        <entry>Fundamental operations</entry>
-       <entry>&z3950;/&sru; <literal>explain</literal>, 
+       <entry>&acro.z3950;/&acro.sru; <literal>explain</literal>, 
            <literal>search</literal>, <literal>scan</literal>, and 
            <literal>update</literal></entry>
        <entry></entry>
        <entry><xref linkend="querymodel-operation-types"/></entry>
       </row>
       <row>
-       <entry>&z3950; protocol support</entry>
+       <entry>&acro.z3950; protocol support</entry>
        <entry>yes</entry>
        <entry> Protocol facilities supported are: 
        <literal>init</literal>, <literal>search</literal>, 
        <literal>delete</literal>, <literal>scan</literal>
        (index browsing), <literal>sort</literal>, 
        <literal>close</literal> and support for the <literal>update</literal>
-       Extended Service to add or replace an existing &xml;
+       Extended Service to add or replace an existing &acro.xml;
        record. Piggy-backed presents are honored in the search
        request. Named result sets are supported.</entry>
        <entry><xref linkend="protocol-support"/></entry>
       </row>
       <row>
        <entry>Web Service support</entry>
-       <entry>&sru_gps;</entry>
+       <entry>&acro.sru;</entry>
        <entry> The protocol operations <literal>explain</literal>, 
        <literal>searchRetrieve</literal> and <literal>scan</literal>
-       are supported. <ulink url="&url.cql;">&cql;</ulink> to internal
-       query model &rpn;
+       are supported. <ulink url="&url.cql;">&acro.cql;</ulink> to internal
+       query model &acro.rpn;
        conversion is supported. Extended RPN queries
        for search/retrieve and scan are supported.</entry>
        <entry><xref linkend="zebrasrv-sru-support"/></entry>
       <row>
        <entry>Data size</entry>
        <entry>100 GB of record data</entry>
-       <entry>&zebra; based applications have sucessfully indexed up
+       <entry>&zebra; based applications have successfully indexed up
        to 100 GB of record data</entry>
        <entry></entry>
       </row>
        <entry>Linux</entry>
        <entry></entry>
        <entry>GNU Linux (32 and 64bit), journaling Reiser or (better)
-       JFS filesystem 
-        on disks. NFS filesystems are not supported.
+       JFS file system 
+        on disks. NFS file systems are not supported.
        GNU/Debian Linux packages are available</entry> 
        <entry><xref linkend="installation-debian"/></entry>
       </row>
       <row>
        <entry>Unix</entry>
-       <entry>tarball</entry>
+       <entry>tar-ball</entry>
        <entry>&zebra; is written in portable C, so it runs on most
        Unix-like systems.
-       Usual tarball install possible on many major Unix systems</entry>
+       Usual tar-ball install possible on many major Unix systems</entry>
        <entry><xref linkend="installation-unix"/></entry>
       </row>
       <row>
   <para>
    &zebra; has been deployed in numerous applications, in both the
    academic and commercial worlds, in application domains as diverse
-   as bibliographic catalogues, geospatial information, structured
+   as bibliographic catalogues, Geo-spatial information, structured
    vocabulary browsing, government information locators, civic
    information systems, environmental observations, museum information
    and web indexes.
     </para>
     <para>
      In early 2005, the Koha project development team began looking at
-     ways to improve &marc; support and overcome scalability limitations
+     ways to improve &acro.marc; support and overcome scalability limitations
      in the Koha 2.x series. After extensive evaluations of the best
      of the Open Source textual database engines - including MySQL
      full-text searching, PostgreSQL, Lucene and Plucene - the team
      and relevance-ranked free-text queries, both of which the Koha
      2.x series lack. &zebra; also supports incremental and safe
      database updates, which allow on-the-fly record
-     management. Finally, since &zebra; has at its heart the &z3950;
+     management. Finally, since &zebra; has at its heart the &acro.z3950;
      protocol, it greatly improves Koha's support for that critical
      library standard." 
     </para>
      </para>
    </section>
 
+
+  <section id="kete-dom">
+   <title>Kete Open Source Digital Library and Archiving software</title>
+   <para>
+     <ulink url="http://kete.net.nz/">Kete</ulink> is a digital object
+     management repository, initially developed  in 
+     New Zealand. Initial development has
+     been a partnership between the Horowhenua Library Trust and
+     Katipo Communications Ltd. funded as part of the Community
+     Partnership Fund in 2006.
+     Kete is purpose built
+     software to enable communities to build their own digital
+     libraries, archives and repositories.  
+    </para>
+    <para>
+     It is based on Ruby-on-Rails and MySQL, and integrates  the &zebra; server
+     and the &yaz; toolkit for indexing and retrieval of it's content.
+     Zebra is run as separate computer process from the Kete
+     application.
+     See
+     how Kete <ulink
+     url="http://kete.net.nz/documentation/topics/show/139-managing-zebra">manages
+     Zebra.</ulink>
+     </para>
+     <para>
+     Why does Kete wants to use Zebra?? Speed, Scalability and easy
+ integration with Koha. Read their
+ <ulink
+     url="http://kete.net.nz/blog/topics/show/44-who-what-why-when-answering-some-of-the-niggly-development-questions">detailed
+ reasoning here.</ulink>
+    </para>
+   </section>
+
   <section id="emilda-ils">
    <title>Emilda open source ILS</title>
    <para>
      from virtually any computer with an Internet connection, has
      template based layout allowing anyone to alter the visual
      appearance of Emilda, and is
-     &xml; based language for fast and easy portability to virtually any
+     &acro.xml; based language for fast and easy portability to virtually any
      language.
      Currently, Emilda is used at three schools in Espoo, Finland.
     </para>
     <para>
-     As a surplus, 100% &marc; compatibility has been achieved using the
+     As a surplus, 100% &acro.marc; compatibility has been achieved using the
     &zebra; Server from Index Data as backend server. 
     </para> 
    </section>
      is a netbased library service offering all
      traditional functions on a very high level plus many new
      services. Reindex.net is a comprehensive and powerful WEB system
-     based on standards such as &xml; and &z3950;.
-     updates. Reindex supports &marc21;, dan&marc; eller Dublin Core with
+     based on standards such as &acro.xml; and &acro.z3950;.
+     updates. Reindex supports &acro.marc21;, dan&acro.marc; eller Dublin Core with
      UTF8-encoding.  
     </para>
     <para>
      Reindex.net runs on GNU/Debian Linux with &zebra; and Simpleserver
      from Index 
      Data for bibliographic data. The relational database system
-     Sybase 9 &xml; is used for
+     Sybase 9 &acro.xml; is used for
      administrative data. 
-     Internally &marcxml; is used for bibliographical records. Update
-     utilizes &z3950; extended services. 
+     Internally &acro.marcxml; is used for bibliographical records. Update
+     utilizes &acro.z3950; extended services. 
     </para>
    </section>
 
      The &zebra; information retrieval indexing machine is used inside
      the Alvis framework to
      manage huge collections of natural language processed and
-     enhanced &xml; data, coming from a topic relevant web crawl.
-     In this application, &zebra; swallows and manages 37GB of &xml; data
+     enhanced &acro.xml; data, coming from a topic relevant web crawl.
+     In this application, &zebra; swallows and manages 37GB of &acro.xml; data
      in about 4 hours, resulting in search times of fractions of
      seconds. 
      </para>
    <para>
     The member libraries send in data files representing their
     periodicals, including both brief bibliographic data and summary
-    holdings.  Then 21 individual &z3950; targets are created, each
+    holdings.  Then 21 individual &acro.z3950; targets are created, each
     using &zebra;, and all mounted on the single hardware server.
-    The live service provides a web gateway allowing &z3950; searching
+    The live service provides a web gateway allowing &acro.z3950; searching
     of all of the targets or a selection of them.  &zebra;'s small
     footprint allows a relatively modest system to comfortably host
     the 21 servers.
   </section>
 
   <section id="nli">
-   <title>NLI-&z3950; - a Natural Language Interface for Libraries</title>
+   <title>NLI-&acro.z3950; - a Natural Language Interface for Libraries</title>
    <para>
     Fernuniversit&#x00E4;t Hagen in Germany have developed a natural
     language interface for access to library databases.
     In order to evaluate this interface for recall and precision, they
     chose &zebra; as the basis for retrieval effectiveness.  The &zebra;
     server contains a copy of the GIRT database, consisting of more
-    than 76000 records in &sgml; format (bibliographic records from
-    social science), which are mapped to &marc; for presentation.
+    than 76000 records in &acro.sgml; format (bibliographic records from
+    social science), which are mapped to &acro.marc; for presentation.
    </para>
    <para>
     (GIRT is the German Indexing and Retrieval Testdatabase.  It is a
     &zebra; has been used by a variety of institutions to construct
     indexes of large web sites, typically in the region of tens of
     millions of pages.  In this role, it functions somewhat similarly
-    to the engine of google or altavista, but for a selected intranet
+    to the engine of Google or AltaVista, but for a selected intranet
     or a subset of the whole Web.
    </para>
    <para>
      releases, bug fixes, etc.) and general discussion.  You are welcome
      to seek support there.  Join by filling the form on the list home page.
    </para>
-   <para>
-    Third, it's possible to buy a commercial support contract, with
-    well defined service levels and response times, from Index Data.
-    See
-    <ulink url="&url.indexdata.support;"/>
-     for details.
-   </para>
   </section>  
-
-
- <section id="future">
-  <title>Future Directions</title>
-  
-  <para>
-   These are some of the plans that we have for the software in the near
-   and far future, ordered approximately as we expect to work on them.
-  </para>
-  
-  <para>
-   <itemizedlist>
-
-    <listitem>
-     <para>
-       Improved support for &xml; in search and retrieval. Eventually,
-       the goal is for &zebra; to pull double duty as a flexible
-       information retrieval engine and high-performance &xml;
-       repository.  The recent addition of XPath searching is one
-       example of the kind of enhancement we're working on.
-     </para>
-     <para>
-       There is also the experimental <literal>ALVIS &xslt;</literal>
-       &xml; input filter, which unleashes the full power of &dom; based
-       &xslt; transformations during indexing and record retrieval. Work
-       on this filter has been sponsored by the ALVIS EU project
-       <ulink url="http://www.alvis.info/alvis/"/>. We expect this filter to
-       mature soon, as it is planned to be included in the version 2.0
-       release of &zebra;. 
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-       Finalisation and documentation of &zebra;'s C programming
-       &api;, allowing updates, database management and other functions
-       not readily expressed in &z3950;.  We will also consider
-       exposing the &api; through &soap;.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-       Improved free-text searching. We're first and foremost octet jockeys and
-       we're actively looking for organisations or people who'd like
-       to contribute experience in relevance ranking and text
-       searching.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-  </para>
-  
-  <para>
-   Programmers thrive on user feedback. If you are interested in a
-   facility that you don't see mentioned here, or if there's something
-   you think we could do better, please drop us a mail.  Better still,
-   implement it and send us the patches.
-  </para>
-  <para>
-   If you think it's all really neat, you're welcome to drop us a line
-   saying that, too. You can email us on
-   <email>info@indexdata.dk</email>
-   or check the contact info at the end of this manual.
-  </para>
-  
- </section>
 </chapter>
  <!-- Keep this comment at the end of the file
  Local variables: