spell fixes (using ispell)
[idzebra-moved-to-github.git] / doc / introduction.xml
1 <chapter id="introduction">
2  <!-- $Id: introduction.xml,v 1.4 2002-04-09 19:20:22 adam Exp $ -->
3  <title>Introduction</title>
4  
5  <sect1>
6   <title>Overview</title>
7   
8   <para>
9    The Zebra system is a fielded free-text indexing and retrieval engine with a
10    Z39.50 front-end. You can use any commercial or free-ware Z39.50 client
11    to access data stored in Zebra.
12   </para>
13   
14   <para>
15    The Zebra server is our first step towards the development of a fully
16    configurable, open information system. Eventually, it will be paired
17    off with a powerful Z39.50 client to support complex information
18    management tasks within almost any application domain. We're making
19    the server available now because it's no fun to be in the open
20    information retrieval business all by yourself. We want to allow
21    people with interesting data to make their things
22    available in interesting ways, without having to start out
23    by implementing yet another protocol stack from scratch.
24   </para>
25   
26   <para>
27    This document is an introduction to the Zebra system. It will tell you
28    how to compile the software, and how to prepare your first database.
29    It also explains how the server can be configured to give you the
30    functionality that you need.
31   </para>
32   
33   <para>
34    If you find the software interesting, you should join the support
35    mailing-list by sending email to
36    <literal>zebra-request@indexdata.dk</literal>.
37   </para>
38   
39  </sect1>
40  
41  <sect1 id="features">
42   <title>Features</title>
43   
44   <para>
45    This is a list of some of the most important features of the
46    system.
47   </para>
48   
49   <para>
50    <itemizedlist>
51     <listitem>
52      <para>
53       Supports updating - records can be added and deleted without
54       rebuilding the index from scratch.
55       The update procedure is tolerant to crashes or hard interrupts
56       during register updating - registers can be reconstructed following
57       a crash.
58       Registers can be safely updated even while users are accessing
59       the server.
60      </para>
61     </listitem>
62
63     <listitem>
64      <para>
65       Supports large databases - files for indices, etc. can be
66       automatically partitioned over multiple disks.
67      </para>
68     </listitem>
69
70     <listitem>
71      <para>
72       Supports arbitrarily complex records - base input format is an
73       SGML-like syntax which allows nested (structured) data elements, as
74       well as variant forms of data.
75      </para>
76     </listitem>
77
78     <listitem>
79      <para>
80       Supports random storage formats. A system of input filters driven by
81       regular expressions allows you to easily process most ASCII-based
82       data formats. SGML, XML, ISO2709 (MARC), and raw text are also
83       supported.
84      </para>
85     </listitem>
86
87     <listitem>     
88      <para>
89       Supports boolean queries as well as relevance-ranking (free-text)
90       searching. Right truncation and masking in terms are supported, as
91       well as full regular expressions.
92      </para>
93     </listitem>
94
95     <listitem>
96      <para>
97       Supports multiple concrete syntaxes
98       for record exchange (depending on the configuration): GRS-1, SUTRS,
99       XML, ISO2709 (*MARC). Records can be mapped between record syntaxes
100       and schema on the fly.      
101      </para>
102     </listitem>
103
104     <listitem>     
105      <para>
106       Supports approximate matching in registers (ie. spelling mistakes,
107       etc).
108      </para>
109     </listitem>
110     
111    </itemizedlist>
112    
113   </para>
114   
115   <para>
116    Protocol support:
117   </para>
118   
119   <para>   
120    <itemizedlist>
121     <listitem>
122      <para>
123       Protocol facilities: Init, Search, Retrieve, Delete, Browse and Sort.
124      </para>
125     </listitem>
126
127     <listitem>
128      <para>
129       Piggy-backed presents are honored in the search-request.
130      </para>
131     </listitem>
132
133     <listitem>
134      <para>
135       Named result sets are supported.
136      </para>
137     </listitem>
138     <listitem>
139      <para>
140       Easily configured to support different application profiles, with
141       tables for attribute sets, tag sets, and abstract syntaxes.
142       Additional tables control facilities such as element mappings to
143       different schema (eg., GILS-to-USMARC).
144      </para>
145     </listitem>
146
147     <listitem>
148      <para>
149       Complex composition specifications using Espec-1 are partially
150       supported (simple element requests only).
151      </para>
152     </listitem>
153
154     <listitem>
155      <para>
156       Element Set Names are defined using the Espec-1 capability of the
157       system, and are given in configuration files as simple element
158       requests (and possibly variant requests).
159      </para>
160     </listitem>
161
162     <listitem>
163      <para>
164       Some variant support (not fully implemented yet).
165      </para>
166     </listitem>
167
168     <listitem>
169      <para>
170       Zebra runs on most Unix-like systems as well as Windows NT - a binary
171       distribution for Windows NT is available.
172      </para>
173     </listitem>
174     
175    </itemizedlist>
176    
177   </para>
178   
179  </sect1>
180  
181  <sect1 id="future">
182   <title>Future Work</title>
183   
184   <para>
185    These are some of the plans that we have for the software in the near
186    and far future, approximately ordered after their relative importance.
187    Items marked with an
188    asterisk will be implemented before the
189    last beta release.
190   </para>
191   
192   <para>
193    <itemizedlist>
194     <listitem>
195      <para>
196       *Complete the support for variants.
197      </para>
198     </listitem>
199
200     <listitem>
201      <para>
202       *Finalize the data element <emphasis>include</emphasis> facility
203       to support multimedia data elements in records.
204      </para>
205     </listitem>
206
207     <listitem>
208      <para>
209       Add more sophisticated relevance ranking mechanisms.
210       Add support for soundex and stemming.
211       Add relevance <emphasis>feedback</emphasis> support.
212      </para>
213     </listitem>
214
215     <listitem>
216      <para>
217       Complete EXPLAIN support.
218      </para>
219     </listitem>
220
221     <listitem>
222      <para>
223       Add support for very large records by implementing segmentation and/or
224       variant pieces.
225      </para>
226     </listitem>
227
228     <listitem>
229      <para>
230       Support the Item Update extended service of the protocol.
231      </para>
232     </listitem>
233
234     <listitem>
235      <para>
236       We want to add a management system that allows you to
237       control your databases and configuration tables from a graphical
238       interface.
239      </para>
240     </listitem>
241    </itemizedlist>
242   </para>
243   
244   <para>
245    Programmers thrive on user feedback. If you are interested in a
246    facility that you don't see mentioned here, or if there's something
247    you think we could do better, please drop us a mail.
248    If you think it's all really neat, you're welcome to drop us a line
249    saying that, too. You'll find contact info at the end of this file.
250   </para>
251   
252  </sect1>
253 </chapter>
254  <!-- Keep this comment at the end of the file
255  Local variables:
256  mode: sgml
257  sgml-omittag:t
258  sgml-shorttag:t
259  sgml-minimize-attributes:nil
260  sgml-always-quote-attributes:t
261  sgml-indent-step:1
262  sgml-indent-data:t
263  sgml-parent-document: "zebra.xml"
264  sgml-local-catalogs: nil
265  sgml-namecase-general:t
266  End:
267  -->