pretty formatting warning messages, always giving the file name and
[idzebra-moved-to-github.git] / doc / introduction.xml
index 47096a3..37c5fd2 100644 (file)
@@ -1,5 +1,5 @@
 <chapter id="introduction">
 <chapter id="introduction">
- <!-- $Id: introduction.xml,v 1.43 2007-02-02 11:10:08 marc Exp $ -->
+ <!-- $Id: introduction.xml,v 1.49 2007-02-05 14:32:31 marc Exp $ -->
  <title>Introduction</title>
  
  <section id="overview">
  <title>Introduction</title>
  
  <section id="overview">
         code is open to anybody to read and change under the GPL license.  
       </para>
       <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 &z3950; server 
         for both record/document search, presentation, insert, update and 
         delete operations. In addition, it understands the &sru; family of 
         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.
+        webservices, which exist in &rest; &get;/&post; and truly
+        &soap; flavors. 
       </para>
       <para>
         &zebra; is available as MS Windows 2003 Server (32 bit) self-extracting
       </para>
       <para>
         &zebra; is available as MS Windows 2003 Server (32 bit) self-extracting
   <title>&zebra; Features Overview</title>
   
 
   <title>&zebra; Features Overview</title>
   
 
-   <table id="table-features-overview" frame="top">
-    <title>&zebra; Features Overview</title>
+      <!--
+      <row>
+       <entry></entry>
+       <entry></entry>
+       <entry></entry>
+       <entry><xref linkend=""/></entry>
+      </row>
+      <row>
+       <entry></entry>
+       <entry></entry>
+       <entry></entry>
+       <entry><xref linkend=""/></entry>
+      </row>
+      <row>
+       <entry></entry>
+       <entry></entry>
+       <entry></entry>
+       <entry><xref linkend=""/></entry>
+      </row>
+      -->
+
+
+   <section id="features-document">
+    <title>&zebra; Document Model</title>
+
+   <table id="table-features-document" frame="top">
+    <title>&zebra; document model</title>
     <tgroup cols="4">
     <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
      <thead>
       <row>
        <entry>Feature</entry>
      <thead>
       <row>
        <entry>Feature</entry>
      </thead>
      <tbody>
       <row>
      </thead>
      <tbody>
       <row>
-       <entry>Boolean query language</entry>
+       <entry>Complex semi-structured Documents</entry>
+       <entry>&xml; and &grs1; Documents</entry>
+       <entry>Both &xml; and &grs1; documents exhibit a &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>
+        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
+        supported.</entry>
+       <entry><xref linkend="componentmodules"/></entry>
+      </row>
+      <row>
+       <entry>Document storage</entry>
+       <entry>Index-only, Key storage, Document storage</entry>
+       <entry>Data can be, and usually is, imported
+        into &zebra;'s own storage, but &zebra; can also refer to
+        external files, building and maintaining indexes of "live"
+       collections.</entry>
+       <entry></entry>
+      </row>
+
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+   <section id="features-search">
+    <title>&zebra; Search Features</title>
+
+   <table id="table-features-search" frame="top">
+    <title>&zebra; search functionality</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
+      <row>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
+      </row>
+     </thead>
+     <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>&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><xref linkend="querymodel-query-languages-pqf"/>
+       <entry><xref linkend="querymodel-query-languages-pqf"/> and 
        <xref linkend="querymodel-cql-to-pqf"/></entry>
       </row>
       <row>
        <xref linkend="querymodel-cql-to-pqf"/></entry>
       </row>
       <row>
-       <entry>Operation types</entry>
-       <entry> &z3950;/&sru; explain, search, and scan</entry>
-       <entry></entry>
-       <entry><xref linkend="querymodel-operation-types"/></entry>
-      </row>
-      <row>
-       <entry>Recursive boolean query tree</entry>
+       <entry>Complex boolean query tree</entry>
        <entry>&cql; and &rpn;/&pqf;</entry>
        <entry>Both &cql; and &rpn;/&pqf; allow atomic query parts (&apt;) to
        be combined into complex boolean query trees</entry>
        <entry><xref linkend="querymodel-rpn-tree"/></entry>
       </row>
       <row>
        <entry>&cql; and &rpn;/&pqf;</entry>
        <entry>Both &cql; and &rpn;/&pqf; allow atomic query parts (&apt;) to
        be combined into complex boolean query trees</entry>
        <entry><xref linkend="querymodel-rpn-tree"/></entry>
       </row>
       <row>
-       <entry>Large databases</entry>
-       <entry>64 file pointers assure that register files can extend
-       the 2 GB limit. Logical files can be
-        automatically partitioned over multiple disks, thus allowing for
-       large databases.</entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Field search</entry>
+       <entry>user defined</entry>
+       <entry>Atomic query parts (&apt;) are either general, or
+       directed at user-specified document fields
+      </entry>
+       <entry><xref linkend="querymodel-atomic-queries"/>, 
+              <xref linkend="querymodel-use-string"/>, 
+              <xref linkend="querymodel-bib1-use"/>, and 
+              <xref linkend="querymodel-idxpath-use"/></entry>
       </row>
       <row>
       </row>
       <row>
-       <entry>Complex semi-structured Documents</entry>
-       <entry>&xml; and &grs1; Documents</entry>
-       <entry>Both &xml; and &grs1; documents exhibit a &dom; like internal
-       representation allowing for complex indexing and display rules</entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Data normalization</entry>
+       <entry>user defined</entry>
+       <entry>Data normalization, text tokenization and character
+       mappings can be applied during indexing and searching</entry>
+       <entry><xref linkend="fields-and-charsets"/></entry>
       </row>
       <row>
       </row>
       <row>
-       <entry>Database updates</entry>
-       <entry>live, incremental updates</entry>
-       <entry>Robust updating - records can be added and deleted ``on the fly''
-      without rebuilding the index from scratch.
-      Records can be safely updated even while users are accessing
-      the server.
-      The update procedure is tolerant to crashes or hard interrupts
-      during database updating - data can be reconstructed following
-      a crash.</entry>
-       <entry><xref linkend=""/></entry>
+       <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
+       data.</entry> 
+       <entry><xref linkend="character-map-files"/> and
+              <xref linkend="querymodel-pqf-apt-mapping-structuretype"/>
+       </entry>
       </row>
       <row>
       </row>
       <row>
-       <entry>Input document formats</entry>
-       <entry>&xml;, &sgml;, Text, ISO2709 (&marc;)</entry>
+       <entry>Regular expression matching</entry>
+       <entry>available</entry>
+       <entry>Full regular expression matching and "approximate
+        matching" (eg. spelling mistake corrections) are handled.</entry>
+       <entry><xref linkend="querymodel-regular"/></entry>
+      </row>
+      <row>
+       <entry>Term truncation</entry>
+       <entry>left, right, left-and-right</entry>
+       <entry>The truncation attribute specifies whether variations of
+       one or more characters are allowed between search term and hit
+       terms, or not. Using non-default truncation attributes will
+       broaden the document hit set of a search query.</entry> 
+       <entry><xref linkend="querymodel-bib1-truncation"/></entry>
+      </row>
+      <row>
+       <entry>Fuzzy searches</entry>
+       <entry>Spelling correction</entry>
+       <entry>In addition, fuzzy searches are implemented, where one 
+          spelling mistake in search terms is matched</entry>
+       <entry><xref linkend="querymodel-bib1-truncation"/></entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+   <section id="features-scan">
+    <title>&zebra; Index Scanning</title>
+
+   <table id="table-features-scan" frame="top">
+    <title>&zebra; index scanning</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
+      <row>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row>
+       <entry>Scan</entry>
+       <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 menus and search 
+       suggestions.</entry>
+       <entry><xref linkend="querymodel-operation-type-scan"/> and 
+       <xref linkend="querymodel-atomic-queries"/>
+       </entry>
+      </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><xref linkend="querymodel-zebra-attr-scan"/></entry>
+      </row>
+      <row>
+       <entry>Drill-down or refine-search</entry>
+       <entry>partially</entry>
+       <entry>scanning in result sets can be used to implement
+       drill-down in search clients</entry>
+       <entry><xref linkend="querymodel-zebra-attr-scan"/></entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+   <section id="features-presentation">
+    <title>&zebra; Document Presentation</title>
+
+   <table id="table-features-presentation" frame="top">
+    <title>&zebra; document presentation</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
+      <row>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row>
+       <entry>Hit count</entry>
+       <entry>yes</entry>
+       <entry>Search results include at any time the total hit count of a given
+          query, either exact computed, or approximative, in case that the
+          hit count exceeds a possible pre-defined hit set truncation
+       level.</entry>
        <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
-        supported.</entry>
-       <entry><xref linkend=""/></entry>
+       <xref linkend="querymodel-zebra-local-attr-limit"/> and
+       <xref linkend="zebra-cfg"/>
+       </entry>
+      </row>
+      <row>
+       <entry>Paged result sets</entry>
+       <entry>yes</entry>
+       <entry>Paging of search requests and present/display request
+       can return any successive number of records from any start
+       position in the hit set, i.e. it is trivial to provide search
+       results in successive pages of any size.</entry>
+       <entry></entry>
+      </row>
+      <row>
+       <entry>&xml; document transformations</entry>
+       <entry>&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
+          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>post-filter record transformations</entry>
+       <entry></entry>
+      </row>
+      <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
+       record syntaxes and schemas on the fly.</entry>
+       <entry></entry>
+      </row>
+      <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
+       applications.</entry>
+       <entry><xref linkend="special-retrieval"/></entry>
+      </row>
+      <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
+       binary storage system</entry>
+       <entry><xref linkend="special-retrieval"/></entry>
+      </row>
+      <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
+       record data displays possible.</entry>
+       <entry><xref linkend="special-retrieval"/></entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+   <section id="features-sort-rank">
+    <title>&zebra; Sorting and Ranking</title>
+
+   <table id="table-features-sort-rank" frame="top">
+    <title>&zebra; sorting and ranking</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
+      <row>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row>
+       <entry>Sort</entry>
+       <entry>numeric, lexicographic</entry>
+       <entry>Sorting on the basis of alpha-numeric and numeric data
+       is supported. Alphanumeric sorts can be configured for
+       different data encodings and locales for European languages.</entry>
+       <entry><xref linkend="administration-ranking-sorting"/> and
+       <xref linkend="querymodel-zebra-attr-sorting"/></entry>
+      </row>
+      <row>
+       <entry>Combined sorting</entry>
+       <entry>yes</entry>
+       <entry>Sorting on the basis of combined sorts ­ e.g. combinations of 
+          ascending/descending sorts of lexicographical/numeric/date field data
+          is supported</entry>
+       <entry><xref linkend="administration-ranking-sorting"/></entry>
       </row>
       <row>
        <entry>Relevance ranking</entry>
        <entry>TF-IDF like</entry>
        <entry>Relevance-ranking of free-text queries is supported
        using a TF-IDF like algorithm.</entry>
       </row>
       <row>
        <entry>Relevance ranking</entry>
        <entry>TF-IDF like</entry>
        <entry>Relevance-ranking of free-text queries is supported
        using a TF-IDF like algorithm.</entry>
-       <entry><xref linkend=""/></entry>
+       <entry><xref linkend="administration-ranking-dynamic"/></entry>
       </row>
       <row>
       </row>
       <row>
-       <entry>Document storage</entry>
-       <entry>Index-only, Key storage, Document storage</entry>
-       <entry>Data can be, and usually is, imported
-        into &zebra;'s own storage, but &zebra; can also refer to
-        external files, building and maintaining indexes of "live"
-       collections.</entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Static pre-ranking</entry>
+       <entry>yes</entry>
+       <entry>Enables pre-index time ranking of documents where hit
+       lists are ordered first by ascending static rank, then by
+       ascending document ID.</entry> 
+       <entry><xref linkend="administration-ranking-static"/></entry>
       </row>
       </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+
+   <section id="features-updates">
+    <title>&zebra; Live Updates</title>
+
+
+   <table id="table-features-updates" frame="top">
+    <title>&zebra; live updates</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
       <row>
       <row>
-       <entry>Regular expression matching</entry>
-       <entry>Regexp </entry>
-       <entry>Full regular expression matching and "approximate
-        matching" (eg. spelling mistake corrections) are handled.</entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
       </row>
       </row>
+     </thead>
+     <tbody>
       <row>
       <row>
-       <entry>Search truncation</entry>
-       <entry></entry>
+       <entry>Incremental and batch updates</entry>
        <entry></entry>
        <entry></entry>
-       <entry><xref linkend=""/></entry>
+       <entry>It is possible to schedule record inserts/updates/deletes in any
+        quantity, from single individual handled records to batch updates
+        in strikes of any size, as well as total re-indexing of all records
+        from file system. </entry>
+       <entry><xref linkend="zebraidx"/></entry>
       </row>
       <row>
       </row>
       <row>
-       <entry>Remote update</entry>
+       <entry>Remote updates</entry>
        <entry>&z3950; extended services</entry>
        <entry>&z3950; extended services</entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Updates can be performed from remote locations using the
+       &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>
       </row>
       <row>
       </row>
       <row>
-       <entry>Supported Platforms</entry>
-       <entry>UNIX, Linux, Windows (NT/2000/2003/XP)</entry>
-       <entry>&zebra; is written in portable C, so it runs on most
-       Unix-like systems as well as Windows (NT/2000/2003/XP).  Binary
-       distributions are 
-       available for GNU/Debian Linux and Windows</entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Live updates</entry>
+       <entry>transaction based</entry>
+       <entry> Data updates are transaction based and can be performed
+       on running  &zebra; systems.  Full searchability is preserved
+       during life data update due to use  of shadow disk areas for
+       update operations. Multiple update transactions at the same
+       time are lined up, to be performed one after each other. Data
+       integrity is preserved.</entry> 
+       <entry><xref linkend="shadow-registers"/></entry>
       </row>
       </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+ <section id="features-protocol">
+  <title>&zebra; Networked Protocols</title>
+
+   <table id="table-features-protocol" frame="top">
+    <title>&zebra; networked protocols</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
       <row>
       <row>
-       <entry>&z3950;</entry>
-       <entry>&z3950;  protocol support</entry>
-       <entry> Protocol facilities: Init, Search, Present (retrieval),
-      Segmentation (support for very large records), Delete, Scan
-      (index browsing), Sort, Close and support for the ``update''
-      Extended Service to add or replace an existing &xml;
-       record. Piggy-backed presents are honored in the search
-       request. Named result sets are supported.</entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
       </row>
       </row>
+     </thead>
+     <tbody>
       <row>
       <row>
-       <entry>Record Syntaxes</entry>
+       <entry>Fundamental operations</entry>
+       <entry>&z3950;/&sru; <literal>explain</literal>, 
+           <literal>search</literal>, <literal>scan</literal>, and 
+           <literal>update</literal></entry>
        <entry></entry>
        <entry></entry>
-       <entry> Multiple record syntaxes
-      for data retrieval: &grs1;, &sutrs;,
-      &xml;, ISO2709 (&marc;), etc. Records can be mapped between record syntaxes
-      and schemas on the fly.</entry>
-       <entry><xref linkend=""/></entry>
+       <entry><xref linkend="querymodel-operation-types"/></entry>
+      </row>
+      <row>
+       <entry>&z3950; protocol support</entry>
+       <entry>yes</entry>
+       <entry> Protocol facilities supported are: 
+       <literal>init</literal>, <literal>search</literal>, 
+       <literal>present</literal> (retrieval),
+       Segmentation (support for very large records), 
+       <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;
+       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>
       </row>
       <row>
        <entry>Web Service support</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
        <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;  conversion is supported. Extended RPN queries
+       query model &rpn;
+       conversion is supported. Extended RPN queries
        for search/retrieve and scan are supported.</entry>
        for search/retrieve and scan are supported.</entry>
-       <entry><xref linkend=""/></entry>
+       <entry><xref linkend="zebrasrv-sru-support"/></entry>
       </row>
       </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+   <section id="features-scalability">
+    <title>&zebra; Data Size and Scalability</title>
+
+   <table id="table-features-scalability" frame="top">
+    <title>&zebra; data size and scalability</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
       <row>
       <row>
-       <entry></entry>
-       <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
       </row>
       </row>
+     </thead>
+     <tbody>
       <row>
       <row>
+       <entry>No of records</entry>
+       <entry>40-60 million</entry>
        <entry></entry>
        <entry></entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
       </row>
       <row>
       </row>
       <row>
+       <entry>Data size</entry>
+       <entry>100 GB of record data</entry>
+       <entry>&zebra; based applications have successfully indexed up
+       to 100 GB of record data</entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
       </row>
       <row>
       </row>
       <row>
+       <entry>Scale out</entry>
+       <entry>multiple discs</entry>
        <entry></entry>
        <entry></entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
       </row>
       <row>
       </row>
       <row>
+       <entry>Performance</entry>
+       <entry><literal>O(n * log N)</literal></entry>
+       <entry> &zebra; query speed and performance is affected roughly by 
+          <literal>O(log N)</literal>,
+          where <literal>N</literal> is the total database size, and by 
+          <literal>O(n)</literal>, where <literal>n</literal> is the
+          specific query hit set size.</entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
       </row>
       <row>
       </row>
       <row>
+       <entry>Average search times</entry>
        <entry></entry>
        <entry></entry>
+       <entry> Even on very large size databases hit rates of 20 queries per
+          seconds with average query answering time of 1 second are possible,
+          provided that the boolean queries are constructed sufficiently
+          precise to result in hit sets of the order of 1000 to 5.000
+          documents.</entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
       </row>
       <row>
       </row>
       <row>
+       <entry>Large databases</entry>
+       <entry>64 bit file pointers</entry>
+       <entry>64 file pointers assure that register files can extend
+       the 2 GB limit. Logical files can be
+        automatically partitioned over multiple disks, thus allowing for
+       large databases.</entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
       </row>
       </row>
+     </tbody>
+    </tgroup>
+   </table>
+   </section>
+
+   <section id="features-platforms">
+    <title>&zebra; Supported Platforms</title>
+
+   <table id="table-features-platforms" frame="top">
+    <title>&zebra; supported platforms</title>
+    <tgroup cols="4">
+     <colspec colwidth="1*" colname="feature"/>
+     <colspec colwidth="1*" colname="availability"/>
+     <colspec colwidth="3*" colname="notes"/>
+     <colspec colwidth="2*" colname="references"/>
+     <thead>
       <row>
       <row>
-       <entry></entry>
-       <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
+       <entry>Feature</entry>
+       <entry>Availability</entry>
+       <entry>Notes</entry>
+       <entry>Reference</entry>
       </row>
       </row>
+     </thead>
+     <tbody>
       <row>
       <row>
+       <entry>Linux</entry>
        <entry></entry>
        <entry></entry>
-       <entry></entry>
-       <entry></entry>
-       <entry><xref linkend=""/></entry>
+       <entry>GNU Linux (32 and 64bit), journaling Reiser or (better)
+       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>tar-ball</entry>
+       <entry>&zebra; is written in portable C, so it runs on most
+       Unix-like systems.
+       Usual tar-ball install possible on many major Unix systems</entry>
+       <entry><xref linkend="installation-unix"/></entry>
+      </row>
+      <row>
+       <entry>Windows</entry>
+       <entry>NT/2000/2003/XP</entry>
+       <entry>&zebra; runs as well on Windows (NT/2000/2003/XP).
+        Windows installer packages available</entry>
+       <entry><xref linkend="installation-win32"/></entry>
       </row>
      </tbody>
     </tgroup>
    </table>
       </row>
      </tbody>
     </tgroup>
    </table>
-
+   </section>
 
   
  </section>
 
   
  </section>
   <para>
    &zebra; has been deployed in numerous applications, in both the
    academic and commercial worlds, in application domains as diverse
   <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.
    vocabulary browsing, government information locators, civic
    information systems, environmental observations, museum information
    and web indexes.
      for details.
    </para>
   </section>  
      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:
 </chapter>
  <!-- Keep this comment at the end of the file
  Local variables: