<chapter id="introduction">
- <!-- $Id: introduction.xml,v 1.3 2002-04-09 13:26:26 adam Exp $ -->
+ <!-- $Id: introduction.xml,v 1.9 2002-08-28 08:14:47 mike Exp $ -->
<title>Introduction</title>
<sect1>
<title>Overview</title>
<para>
- The Zebra system is a fielded free-text indexing and retrieval engine with a
- Z39.50 frontend. You can use any commercial or freeware Z39.50 client
- to access data stored in Zebra.
+ <ulink url="http://www.indexdata.dk/zebra/">
+ Zebra</ulink>
+ is a high-performance, general-purpose structured text
+ indexing and retrieval engine. It reads structured records in a
+ variety of input formats (eg. email, XML, MARC) and provides access
+ to them through a powerful combination of boolean search
+ expressions and relevance-ranked free-text queries.
</para>
-
+
<para>
- The Zebra server is our first step towards the development of a fully
- configurable, open information system. Eventually, it will be paired
- off with a powerful Z39.50 client to support complex information
- management tasks within almost any application domain. We're making
- the server available now because it's no fun to be in the open
- information retrieval business all by yourself. We want to allow
- people with interesting data to make their things
- available in interesting ways, without having to start out
- by implementing yet another protocol stack from scratch.
+ 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, Z39.50,
+ 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
+ <ulink url="http://zoom.z3950.org/">the ZOOM web site</ulink>
+ for more information on some of these client toolkits.
</para>
-
+
<para>
- This document is an introduction to the Zebra system. It will tell you
- how to compile the software, and how to prepare your first database.
- It also explains how the server can be configured to give you the
+ This document is an introduction to the Zebra system. It explains
+ how to compile the software, how to prepare your first database,
+ and how to configure the server to give you the
functionality that you need.
</para>
<para>
- If you find the software interesting, you should join the support
- mailing-list by sending email to
- <literal>zebra-request@indexdata.dk</literal>.
+ If you use Zebra, you should visit its
+ <ulink url="http://www.indexdata.dk/zebra/">web site</ulink>,
+ where you can join the
+ <ulink url="http://www.indexdata.dk/mailman/listinfo/zebralist">
+ mailing-list</ulink>
+ by sending email to
+ <email>### zebra-subscribe@mailman.indexdata.dk</email>
</para>
</sect1>
<title>Features</title>
<para>
- This is a list of some of the most important features of the
+ This is an overview of some of the most important features of the
system.
</para>
<para>
<itemizedlist>
- <listitem>
- <para>
- Supports updating - records can be added and deleted without
- rebuilding the index from scratch.
- The update procedure is tolerant to crashes or hard interrupts
- during register updating - registers can be reconstructed following
- a crash.
- Registers can be safely updated even while users are accessing
- the server.
- </para>
- </listitem>
<listitem>
<para>
- Supports large databases - files for indices, etc. can be
+ Supports large databases - files for indexes, etc. can be
automatically partitioned over multiple disks.
</para>
</listitem>
<listitem>
<para>
+ Robust updating - records can be added and deleted without
+ rebuilding the index from scratch.
+ The update procedure is tolerant to crashes or hard interrupts
+ during register updating - registers can be reconstructed following
+ a crash.
+ Registers can be safely updated even while users are accessing
+ the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Supports random storage formats. A system of input filters driven by
regular expressions allows you to easily process most ASCII-based
data formats. SGML, XML, ISO2709 (MARC), and raw text are also
</listitem>
<listitem>
+ <para>
+ Can import the data into Zebras own storage, or just refer to
+ external files (good for building indexes of "live"
+ collections).
+ </para>
+ </listitem>
+
+ <listitem>
<para>
Supports multiple concrete syntaxes
for record exchange (depending on the configuration): GRS-1, SUTRS,
</para>
</listitem>
+ <listitem>
+ <para>
+ Zebra is written in portable C, so it runs on most Unix-like systems
+ as well as Windows NT - a binary distribution for Windows NT is available.
+ </para>
+ </listitem>
+
</itemizedlist>
</para>
<para>
- Protocol support:
+ Z39.50 protocol support:
</para>
<para>
</para>
</listitem>
- <listitem>
- <para>
- Some variant support (not fully implemented yet).
- </para>
- </listitem>
-
- <listitem>
- <para>
- Zebra runs on most Unix-like systems as well as Windows NT - a binary
- distribution for Windows NT is available.
- </para>
- </listitem>
-
</itemizedlist>
</para>
</sect1>
+ <sect1 id="apps">
+ <title>Applications</title>
+ <para>
+ Zebra has been deployed in numerous applications, in both the
+ academic and commercial worlds, in application domains as diverse
+ as bibliographic information, geospatial, ### (Help, guys!)
+ </para>
+ <para>
+ Notable applications include the following:
+ </para>
+
+ <sect2>
+ <title>DADS - the DTV Article Database Service</title>
+ <para>
+ DADS is a huge database of more than ten million records, totally
+ over ten gigabytes of data. The records are metadata about academic
+ journal articles, primarily scientific; about 10% of these
+ metadata records link to the full text of the articles they
+ describe, a body of about a terabyte of information (although the
+ full text is not indexed.)
+ </para>
+ <para>
+ It allows students and researchers at DTU (###) to find and order
+ articles from multiple databases in a single query. The database
+ contains literature on all engineering subjects. It's available
+ on-line through a web gateway at
+ http://www.dtv.dk/search/index_e.htm
+ though currently only to registered users.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>Various web indexes</title>
+ <para>
+ 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
+ or subset of the whole Web.
+ </para>
+ <para>
+ ### examples, details and numbers, please!
+ </para>
+ </sect2>
+ </sect1>
+
<sect1 id="future">
<title>Future Work</title>
<para>
These are some of the plans that we have for the software in the near
and far future, approximately ordered after their relative importance.
- Items marked with an
- asterisk will be implemented before the
- last beta release.
</para>
<para>
<itemizedlist>
- <listitem>
- <para>
- *Complete the support for variants.
- </para>
- </listitem>
-
- <listitem>
- <para>
- *Finalize the data element <emphasis>include</emphasis> facility
- to support multimedia data elements in records.
- </para>
- </listitem>
<listitem>
<para>
- Add more sophisticated relevance ranking mechanisms.
- Add support for soundex and stemming.
- Add relevance <emphasis>feedback</emphasis> support.
+ 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.
</para>
</listitem>
<listitem>
<para>
- Complete EXPLAIN support.
+ Access to search engine through SOAP/RPC API to allow the
+ construction of applications without requiring Z39.50 tools.
</para>
</listitem>
<listitem>
<para>
- Add support for very large records by implementing segmentation and/or
- variant pieces.
+ Finalisation, documentation of the Zebra API. Consider
+ exposing the API through SOAP as well (allowing updates,
+ database management).
</para>
</listitem>
<listitem>
<para>
- Support the Item Update extended service of the protocol.
+ 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>
- <listitem>
- <para>
- We want to add a management system that allows you to
- control your databases and configuration tables from a graphical
- interface.
- </para>
- </listitem>
</itemizedlist>
</para>