Added intro to book.xml
[pazpar2-moved-to-github.git] / doc / book.xml
1 <?xml version="1.0" standalone="no"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1//EN"
3     "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" 
4 [
5      <!ENTITY % local SYSTEM "local.ent">
6      %local;
7      <!ENTITY % entities SYSTEM "entities.ent">
8      %entities;
9      <!ENTITY % common SYSTEM "common/common.ent">
10      %common;
11 ]>
12 <!-- $Id: book.xml,v 1.4 2007-01-13 05:48:41 quinn Exp $ -->
13 <book id="book">
14  <bookinfo>
15   <title>Pazpar2 - User's Guide and Reference</title>
16   <author>
17    <firstname>Sebastian</firstname><surname>Hammer</surname>
18   </author>
19   <copyright>
20    <year>&copyright-year;</year>
21    <holder>Index Data</holder>
22   </copyright>
23   <abstract>
24    <simpara>
25     Pazpar2 - High-performance, user-interface independent, metasearching
26           middleware featuring record merging, relevance ranking, and faceted search
27           results.
28    </simpara>
29    <simpara>
30     This document is a guide and reference to Pazpar version &version;.
31    </simpara>
32    <simpara>
33     <inlinemediaobject>
34      <imageobject>
35       <imagedata fileref="common/id.png" format="PNG"/>
36      </imageobject>
37      <imageobject>
38       <imagedata fileref="common/id.eps" format="EPS"/>
39      </imageobject>
40     </inlinemediaobject>
41    </simpara>
42   </abstract>
43  </bookinfo>
44
45  <chapter id="introduction">
46   <title>Introduction</title>
47   <para>
48     Pazpar2 is a stand-alone package which implements
49     the best we know to do in terms of the core metasearching
50     functionality; that is, searching a number of databases in parallel,
51     merging, and analyzing the results. Additional functionality such as
52     user management, attractive displays are expected to be implemented by
53     applications that use pazpar2. Pazpar2 is user interface independent.
54     Its functionality is exposed through a simple REST-style webservice API,
55     designed to be simple to use from an Ajax-anbled browser, from a
56     higher-level server-side language like PHP or Java, or even from a Flash
57     application.
58   </para>
59   <para>
60     Once you launch a search in pazpar2, the operation continues behind the
61     scenes. Pazpar2 connects to servers, carries out searches, and
62     retrieves, deduplicates, and stores results internally. Your application
63     code may periodically inquire about the status of an ongoing operation,
64     and ask to see records or other result set facets.
65   </para>
66   <para>
67     Pazpar2 is designed to be highly configurable. Incoming records are
68     normalized to XML/UTF-8, and then further normalized using XSLT to a
69     simple internal representation that is suitable for analysis. By
70     providing XSLT stylesheets for different kinds of result records, you
71     can tune pazpar2 to work against different kinds of information
72     retrieval servers. Finally, metadata is extracted, in a configurable
73     way, from this internal record, to support display, merging, ranking,
74     result set facets, and sorting. Pazpar2 is not bound to a specific model
75     of metadata, such as DublinCore or MARC -- by providing the right
76     configuration, it can work with a number of different kinds of data in
77     support of many different applications.
78   </para>
79   <para>
80     Pazpar2 is designed to be efficient and scalable. You can set it up to
81     search several hundred targets in parallel, or you can use it to support
82     hundreds of concurrent users. It is implemented with the same attention
83     to performance and economy that we use in our indexing engines, so that
84     you can focus on building your application. You can devote all of your
85     attention to usability and let pazpar2 do what it does best -- search.
86    </para>
87  </chapter>
88
89  <chapter id="license">
90   <title>Pazpar2 License</title>
91   <para>To be decided and written.</para>
92  </chapter>
93  
94  <chapter id="installation">
95   <title>Installation</title>
96   <para>
97    Pazpar2 depends on the following tools/libraries:
98    <variablelist>
99     <varlistentry><term><ulink url="&url.yaz;">YAZ</ulink></term>
100      <listitem>
101       <para>
102        The popular Z39.50 toolkit for the C language. YAZ must be
103        compiled with Libxml2/Libxslt support.
104       </para>
105      </listitem>
106     </varlistentry>
107    </variablelist>
108   </para>
109   <para>
110    In order to compile Pazpar2 an ANSI C compiler is
111    required. The requirements should be the same as for YAZ.
112   </para>
113
114   <section id="installation.unix">
115    <title>Installation on Unix (from Source)</title>
116    <para>
117     Here is a quick step-by-step guide on how to compile the
118     tools that Pazpar2 uses. Only few systems have none of the required
119     tools binary packages. If, for example, Libxml2/libxslt are already
120     installed as development packages use these.
121    </para>
122    
123    <para>
124     Ensure that the development libraries + header files are
125     available on your system before compiling Pazpar2. For installation
126     of YAZ, refer to the YAZ installation chapter.
127    </para>
128    <screen>
129     gunzip -c pazpar2-version.tar.gz|tar xf -
130     cd pazpar2-version
131     ./configure
132     make
133     su
134     make install
135    </screen>
136   </section>
137
138   <section id="installation.debian">
139    <title>Installation on Debian GNU/Linux</title>
140    <para>
141     All dependencies for Pazpar2 are available as 
142     <ulink url="&url.debian;">Debian</ulink>
143     packages for the sarge (stable in 2005) and etch (testing in 2005)
144     distributions.
145    </para>
146    <para>
147     The procedures for Debian based systems, such as
148     <ulink url="&url.ubuntu;">Ubuntu</ulink> is probably similar
149    </para>
150    <screen>
151     apt-get install libyaz-dev
152    </screen>
153    <para>
154     With these packages installed, the usual configure + make
155     procedure can be used for Pazpar2 as outlined in
156     <xref linkend="installation.unix"/>.
157    </para>
158   </section>
159  </chapter>
160  
161  <reference id="reference">
162   <title>Reference</title>
163   <partintro>
164    <para>
165     The material in this chapter is drawn directly from the individual
166     manual entries.
167    </para>
168   </partintro>
169   &manref;
170  </reference>
171 </book>
172
173  <!-- Keep this comment at the end of the file
174  Local variables:
175  mode: sgml
176  sgml-omittag:t
177  sgml-shorttag:t
178  sgml-minimize-attributes:nil
179  sgml-always-quote-attributes:t
180  sgml-indent-step:1
181  sgml-indent-data:t
182  sgml-parent-document: nil
183  sgml-local-catalogs: nil
184  sgml-namecase-general:t
185  End:
186  -->