You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by gs...@apache.org on 2006/11/27 01:03:14 UTC

svn commit: r479466 [1/8] - /lucene/java/trunk/docs/

Author: gsingers
Date: Sun Nov 26 16:03:13 2006
New Revision: 479466

URL: http://svn.apache.org/viewvc?view=rev&rev=479466
Log:
part 2 of new docs commits

Added:
    lucene/java/trunk/docs/benchmarks.html
    lucene/java/trunk/docs/benchmarks.pdf
    lucene/java/trunk/docs/contributions.html
    lucene/java/trunk/docs/contributions.pdf
    lucene/java/trunk/docs/demo.html
    lucene/java/trunk/docs/demo.pdf
    lucene/java/trunk/docs/demo2.html
    lucene/java/trunk/docs/demo2.pdf
    lucene/java/trunk/docs/demo3.html
    lucene/java/trunk/docs/demo3.pdf
    lucene/java/trunk/docs/demo4.html
    lucene/java/trunk/docs/demo4.pdf
    lucene/java/trunk/docs/features.html
    lucene/java/trunk/docs/features.pdf
    lucene/java/trunk/docs/fileformats.html
    lucene/java/trunk/docs/fileformats.pdf
    lucene/java/trunk/docs/gettingstarted.html
    lucene/java/trunk/docs/gettingstarted.pdf
    lucene/java/trunk/docs/index.html
    lucene/java/trunk/docs/index.pdf
    lucene/java/trunk/docs/linkmap.html
    lucene/java/trunk/docs/linkmap.pdf
    lucene/java/trunk/docs/mailinglists.html
    lucene/java/trunk/docs/mailinglists.pdf
    lucene/java/trunk/docs/queryparsersyntax.html
    lucene/java/trunk/docs/queryparsersyntax.pdf
    lucene/java/trunk/docs/releases.html
    lucene/java/trunk/docs/releases.pdf
    lucene/java/trunk/docs/scoring.html
    lucene/java/trunk/docs/scoring.pdf
    lucene/java/trunk/docs/whoweare.html
    lucene/java/trunk/docs/whoweare.pdf

Added: lucene/java/trunk/docs/benchmarks.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/docs/benchmarks.html?view=auto&rev=479466
==============================================================================
--- lucene/java/trunk/docs/benchmarks.html (added)
+++ lucene/java/trunk/docs/benchmarks.html Sun Nov 26 16:03:13 2006
@@ -0,0 +1,1073 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Apache Lucene - Resources - Performance Benchmarks</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="images/favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<div class="breadtrail">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/java/">Java</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<div class="header">
+<div class="grouplogo">
+<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="http://lucene.apache.org/java/docs/images/asf-logo.gif" title="Apache Lucene"></a>
+</div>
+<div class="projectlogo">
+<a href="http://lucene.apache.org/java/"><img class="logoImage" alt="Lucene" src="http://lucene.apache.org/images/lucene_green_300.gif" title="Apache Lucene is a high-performance, full-featured text search engine library written entirely in
+      Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform."></a>
+</div>
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
+                    <input attr="value" name="Search" value="Search" type="submit">
+</form>
+</div>
+<ul id="tabs">
+<li class="current">
+<a class="base-selected" href="index.html">Main</a>
+</li>
+<li>
+<a class="base-not-selected" href="http://wiki.apache.org/jakarta-lucene">Wiki</a>
+</li>
+</ul>
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<div id="level2tabs"></div>
+<script type="text/javascript"><!--
+document.write("<text>Last Published:</text> " + document.lastModified);
+//  --></script>
+</div>
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">About</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="index.html" title="Welcome to Java Lucene">Overview</a>
+</div>
+<div class="menuitem">
+<a href="features.html">Features</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/jakarta-lucene/PoweredBy">Powered by Lucene</a>
+</div>
+<div class="menuitem">
+<a href="whoweare.html">Who We Are</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2', 'skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="api/">API Docs</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Benchmarks</div>
+</div>
+<div class="menuitem">
+<a href="contributions.html">Contributions</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/jakarta-lucene/LuceneFAQ">FAQ</a>
+</div>
+<div class="menuitem">
+<a href="fileformats.html">File Formats</a>
+</div>
+<div class="menuitem">
+<a href="gettingstarted.html">Getting Started</a>
+</div>
+<div class="menuitem">
+<a href="lucene-sandbox/index.html">Lucene Sandbox</a>
+</div>
+<div class="menuitem">
+<a href="queryparsersyntax.html">Query Syntax</a>
+</div>
+<div class="menuitem">
+<a href="scoring.html">Scoring</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/jakarta-lucene">Wiki</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://issues.apache.org/jira/browse/LUCENE">Issue Tracking</a>
+</div>
+<div class="menuitem">
+<a href="mailinglists.html">Mailing Lists</a>
+</div>
+<div class="menuitem">
+<a href="releases.html">Downloads</a>
+</div>
+<div class="menuitem">
+<a href="http://svn.apache.org/viewcvs.cgi/lucene/java/">Version Control</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Site Versions</div>
+<div id="menu_1.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="./">Official</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.5', 'skin/')" id="menu_1.5Title" class="menutitle">Related Projects</div>
+<div id="menu_1.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://lucene.apache.org">Lucene (Top-Level)</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.apache.org/hadoop/">Hadoop</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.apache.org/lucy/">Lucy</a>
+</div>
+<div class="menuitem">
+<a href="http://incubator.apache.org/projects/lucene.net.html">Lucene.NET</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.apache.org/nutch/">Nutch</a>
+</div>
+<div class="menuitem">
+<a href="http://incubator.apache.org/solr/">SOLR</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<div id="credit2"></div>
+</div>
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="benchmarks.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Apache Lucene - Resources - Performance Benchmarks</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Performance Benchmarks">Performance Benchmarks</a>
+</li>
+<li>
+<a href="#Benchmark Variables">Benchmark Variables</a>
+</li>
+<li>
+<a href="#User-submitted Benchmarks">User-submitted Benchmarks</a>
+<ul class="minitoc">
+<li>
+<a href="#Hamish Carpenter's benchmarks">Hamish Carpenter's benchmarks</a>
+</li>
+<li>
+<a href="#Justin Greene's benchmarks">Justin Greene's benchmarks</a>
+</li>
+<li>
+<a href="#Daniel Armbrust's benchmarks">Daniel Armbrust's benchmarks</a>
+</li>
+<li>
+<a href="#Geoffrey Peddle's benchmarks">Geoffrey Peddle's benchmarks</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+
+        
+<a name="N10013"></a><a name="Performance Benchmarks"></a>
+<h2 class="boxed">Performance Benchmarks</h2>
+<div class="section">
+<p>
+                The purpose of these user-submitted performance figures is to
+                give current and potential users of Lucene a sense
+                of how well Lucene scales. If the requirements for an upcoming
+                project is similar to an existing benchmark, you
+                will also have something to work with when designing the system
+                architecture for the application.
+            </p>
+<p>
+                If you've conducted performance tests with Lucene, we'd
+                appreciate if you can submit these figures for display
+                on this page. Post these figures to the lucene-user mailing list
+                using this
+                <a href="benchmarktemplate.xml">template</a>.
+            </p>
+</div>
+
+        
+<a name="N10023"></a><a name="Benchmark Variables"></a>
+<h2 class="boxed">Benchmark Variables</h2>
+<div class="section">
+<p>
+                
+<ul>
+                    
+<p>
+                        
+<b>Hardware Environment</b>
+<br>
+                        
+<li>
+<i>Dedicated machine for indexing</i>: Self-explanatory
+                            (yes/no)</li>
+                        
+<li>
+<i>CPU</i>: Self-explanatory (Type, Speed and Quantity)</li>
+                        
+<li>
+<i>RAM</i>: Self-explanatory</li>
+                        
+<li>
+<i>Drive configuration</i>: Self-explanatory (IDE, SCSI,
+                            RAID-1, RAID-5)</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Software environment</b>
+<br>
+                        
+<li>
+<i>Lucene Version</i>: Self-explanatory</li>
+                        
+<li>
+<i>Java Version</i>: Version of Java SDK/JRE that is run
+                        </li>
+                        
+<li>
+<i>Java VM</i>: Server/client VM, Sun VM/JRockIt</li>
+                        
+<li>
+<i>OS Version</i>: Self-explanatory</li>
+                        
+<li>
+<i>Location of index</i>: Is the index stored in filesystem
+                            or database? Is it on the same server(local) or
+                            over the network?</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Lucene indexing variables</b>
+<br>
+                        
+<li>
+<i>Number of source documents</i>: Number of documents being
+                            indexed</li>
+                        
+<li>
+<i>Total filesize of source documents</i>:
+                            Self-explanatory</li>
+                        
+<li>
+<i>Average filesize of source documents</i>:
+                            Self-explanatory</li>
+                        
+<li>
+<i>Source documents storage location</i>: Where are the
+                            documents being indexed located?
+                            Filesystem, DB, http, etc.</li>
+                        
+<li>
+<i>File type of source documents</i>: Types of files being
+                            indexed, e.g. HTML files, XML files, PDF files, etc.</li>
+                        
+<li>
+<i>Parser(s) used, if any</i>: Parsers used for parsing the
+                            various files for indexing,
+                            e.g. XML parser, HTML parser, etc.</li>
+                        
+<li>
+<i>Analyzer(s) used</i>: Type of Lucene analyzer used</li>
+                        
+<li>
+<i>Number of fields per document</i>: Number of Fields each
+                            Document contains</li>
+                        
+<li>
+<i>Type of fields</i>: Type of each field</li>
+                        
+<li>
+<i>Index persistence</i>: Where the index is stored, e.g.
+                            FSDirectory, SqlDirectory, etc.</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Figures</b>
+<br>
+                        
+<li>
+<i>Time taken (in ms/s as an average of at least 3 indexing
+                                runs)</i>: Time taken to index all files</li>
+                        
+<li>
+<i>Time taken / 1000 docs indexed</i>: Time taken to index
+                            1000 files</li>
+                        
+<li>
+<i>Memory consumption</i>: Self-explanatory</li>
+                        
+<li>
+<i>Query speed</i>: average time a query takes, type
+                            of queries (e.g. simple one-term query, phrase query),
+                            not measuring any overhead outside Lucene</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Notes</b>
+<br>
+                        
+<li>
+<i>Notes</i>: Any comments which don't belong in the above,
+                            special tuning/strategies, etc.</li>
+                    
+</p>
+                
+</ul>
+            
+</p>
+</div>
+
+        
+<a name="N100CA"></a><a name="User-submitted Benchmarks"></a>
+<h2 class="boxed">User-submitted Benchmarks</h2>
+<div class="section">
+<p>
+                These benchmarks have been kindly submitted by Lucene users for
+                reference purposes.
+            </p>
+<p>
+<b>We make NO guarantees regarding their accuracy or
+                    validity.</b>
+            
+</p>
+<p>We strongly recommend you conduct your own
+                performance benchmarks before deciding on a particular
+                hardware/software setup (and hopefully submit
+                these figures to us).
+            </p>
+<a name="N100DA"></a><a name="Hamish Carpenter's benchmarks"></a>
+<h3 class="boxed">Hamish Carpenter's benchmarks</h3>
+<ul>
+                    
+<p>
+                        
+<b>Hardware Environment</b>
+<br>
+                        
+<li>
+<i>Dedicated machine for indexing</i>: yes</li>
+                        
+<li>
+<i>CPU</i>: Intel x86 P4 1.5Ghz</li>
+                        
+<li>
+<i>RAM</i>: 512 DDR</li>
+                        
+<li>
+<i>Drive configuration</i>: IDE 7200rpm Raid-1</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Software environment</b>
+<br>
+                        
+<li>
+<i>Lucene Version</i>: 1.3</li>
+                        
+<li>
+<i>Java Version</i>: 1.3.1 IBM JITC Enabled</li>
+                        
+<li>
+<i>Java VM</i>: </li>
+                        
+<li>
+<i>OS Version</i>: Debian Linux 2.4.18-686</li>
+                        
+<li>
+<i>Location of index</i>: local</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Lucene indexing variables</b>
+<br>
+                        
+<li>
+<i>Number of source documents</i>: Random generator. Set
+                            to make 1M documents
+                            in 2x500,000 batches.</li>
+                        
+<li>
+<i>Total filesize of source documents</i>: &gt; 1GB if
+                            stored</li>
+                        
+<li>
+<i>Average filesize of source documents</i>: 1KB</li>
+                        
+<li>
+<i>Source documents storage location</i>: Filesystem</li>
+                        
+<li>
+<i>File type of source documents</i>: Generated</li>
+                        
+<li>
+<i>Parser(s) used, if any</i>: </li>
+                        
+<li>
+<i>Analyzer(s) used</i>: Default</li>
+                        
+<li>
+<i>Number of fields per document</i>: 11</li>
+                        
+<li>
+<i>Type of fields</i>: 1 date, 1 id, 9 text</li>
+                        
+<li>
+<i>Index persistence</i>: FSDirectory</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Figures</b>
+<br>
+                        
+<li>
+<i>Time taken (in ms/s as an average of at least 3
+                                indexing runs)</i>: </li>
+                        
+<li>
+<i>Time taken / 1000 docs indexed</i>: 49 seconds</li>
+                        
+<li>
+<i>Memory consumption</i>:</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Notes</b>
+<br>
+                            
+<p>
+                                A windows client ran a random document generator which
+                                created
+                                documents based on some arrays of values and an excerpt
+                                (approx 1kb)
+                                from a text file of the bible (King James version).<br>
+                                These were submitted via a socket connection (open throughout
+                                indexing process).<br>
+                                The index writer was not closed between index calls.<br>
+                                This created a 400Mb index in 23 files (after
+                                optimization).<br>
+                            
+</p>
+                            
+<p>
+                                
+<u>Query details</u>:<br>
+                            
+</p>
+                            
+<p>
+                                Set up a threaded class to start x number of simultaneous
+                                threads to
+                                search the above created index.
+                            </p>
+                            
+<p>
+                                Query:  +Domain:sos +(+((Name:goo*^2.0 Name:plan*^2.0)
+                                (Teaser:goo* Tea
+                                ser:plan*) (Details:goo* Details:plan*)) -Cancel:y)
+                                +DisplayStartDate:[mkwsw2jk0
+                                -mq3dj1uq0] +EndDate:[mq3dj1uq0-ntlxuggw0]
+                            </p>
+                            
+<p>
+                                This query counted 34000 documents and I limited the returned
+                                documents
+                                to 5.
+                            </p>
+                            
+<p>
+                                This is using Peter Halacsy's IndexSearcherCache slightly
+                                modified to
+                                be a singleton returned cached searchers for a given
+                                directory. This
+                                solved an initial problem with too many files open and
+                                running out of
+                                linux handles for them.
+                            </p>
+                            
+<pre>
+                                Threads|Avg Time per query (ms)
+                                1       1009ms
+                                2       2043ms
+                                3       3087ms
+                                4       4045ms
+                                ..        .
+                                ..        .
+                                10      10091ms
+                            </pre>
+                            
+<p>
+                                I removed the two date range terms from the query and it made
+                                a HUGE
+                                difference in performance. With 4 threads the avg time
+                                dropped to 900ms!
+                            </p>
+                            
+<p>Other query optimizations made little difference.</p>
+                    
+</p>
+                
+</ul>
+<p>
+                    Hamish can be contacted at hamish at catalyst.net.nz.
+                </p>
+<a name="N1019F"></a><a name="Justin Greene's benchmarks"></a>
+<h3 class="boxed">Justin Greene's benchmarks</h3>
+<ul>
+                    
+<p>
+                        
+<b>Hardware Environment</b>
+<br>
+                        
+<li>
+<i>Dedicated machine for indexing</i>: No, but nominal
+                            usage at time of indexing.</li>
+                        
+<li>
+<i>CPU</i>: Compaq Proliant 1850R/600 2 X pIII 600</li>
+                        
+<li>
+<i>RAM</i>: 1GB, 256MB allocated to JVM.</li>
+                        
+<li>
+<i>Drive configuration</i>: RAID 5 on Fibre Channel
+                            Array</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Software environment</b>
+<br>
+                        
+<li>
+<i>Java Version</i>: 1.3.1_06</li>
+                        
+<li>
+<i>Java VM</i>: </li>
+                        
+<li>
+<i>OS Version</i>: Winnt 4/Sp6</li>
+                        
+<li>
+<i>Location of index</i>: local</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Lucene indexing variables</b>
+<br>
+                        
+<li>
+<i>Number of source documents</i>: about 60K</li>
+                        
+<li>
+<i>Total filesize of source documents</i>: 6.5GB</li>
+                        
+<li>
+<i>Average filesize of source documents</i>: 100K
+                            (6.5GB/60K documents)</li>
+                        
+<li>
+<i>Source documents storage location</i>: filesystem on
+                            NTFS</li>
+                        
+<li>
+<i>File type of source documents</i>: </li>
+                        
+<li>
+<i>Parser(s) used, if any</i>: Currently the only parser
+                            used is the Quiotix html
+                            parser.</li>
+                        
+<li>
+<i>Analyzer(s) used</i>: SimpleAnalyzer</li>
+                        
+<li>
+<i>Number of fields per document</i>: 8</li>
+                        
+<li>
+<i>Type of fields</i>: All strings, and all are stored
+                            and indexed.</li>
+                        
+<li>
+<i>Index persistence</i>: FSDirectory</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Figures</b>
+<br>
+                        
+<li>
+<i>Time taken (in ms/s as an average of at least 3
+                                indexing runs)</i>: 1 hour 12 minutes, 1 hour 14 minutes and 1 hour 17
+                            minutes.  Note that the #
+                            and size of documents changes daily.</li>
+                        
+<li>
+<i>Time taken / 1000 docs indexed</i>: </li>
+                        
+<li>
+<i>Memory consumption</i>: JVM is given 256MB and uses it
+                            all.</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Notes</b>
+<br>
+                            
+<p>
+                                We have 10 threads reading files from the filesystem and
+                                parsing and
+                                analyzing them and the pushing them onto a queue and a single
+                                thread poping
+                                them from the queue and indexing.  Note that we are indexing
+                                email messages
+                                and are storing the entire plaintext in of the message in the
+                                index.  If the
+                                message contains attachment and we do not have a filter for
+                                the attachment
+                                (ie. we do not do PDFs yet), we discard the data.
+                            </p>
+                    
+</p>
+                
+</ul>
+<p>
+                    Justin can be contacted at tvxh-lw4x at spamex.com.
+                </p>
+<a name="N1023A"></a><a name="Daniel Armbrust's benchmarks"></a>
+<h3 class="boxed">Daniel Armbrust's benchmarks</h3>
+<p>
+                    My disclaimer is that this is a very poor "Benchmark".  It was not done for raw speed,
+                    nor was the total index built in one shot.  The index was created on several different
+                    machines (all with these specs, or very similar), with each machine indexing batches of 500,000 to
+                    1 million documents per batch.  Each of these small indexes was then moved to a
+                    much larger drive, where they were all merged together into a big index.
+                    This process was done manually, over the course of several months, as the sources became available.
+                </p>
+<ul>
+                    
+<p>
+                        
+<b>Hardware Environment</b>
+<br>
+                        
+<li>
+<i>Dedicated machine for indexing</i>: no - The machine had moderate to low load.  However, the indexing process was built single
+                            threaded, so it only took advantage of 1 of the processors.  It usually got 100% of this processor.</li>
+                        
+<li>
+<i>CPU</i>: Sun Ultra 80 4 x 64 bit processors</li>
+                        
+<li>
+<i>RAM</i>: 4 GB Memory</li>
+                        
+<li>
+<i>Drive configuration</i>: Ultra-SCSI Wide 10000 RPM 36GB Drive</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Software environment</b>
+<br>
+                        
+<li>
+<i>Lucene Version</i>: 1.2</li>
+                        
+<li>
+<i>Java Version</i>: 1.3.1</li>
+                        
+<li>
+<i>Java VM</i>: </li>
+                        
+<li>
+<i>OS Version</i>: Sun 5.8 (64 bit)</li>
+                        
+<li>
+<i>Location of index</i>: local</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Lucene indexing variables</b>
+<br>
+                        
+<li>
+<i>Number of source documents</i>: 13,820,517</li>
+                        
+<li>
+<i>Total filesize of source documents</i>: 87.3 GB</li>
+                        
+<li>
+<i>Average filesize of source documents</i>: 6.3 KB</li>
+                        
+<li>
+<i>Source documents storage location</i>: Filesystem</li>
+                        
+<li>
+<i>File type of source documents</i>: XML</li>
+                        
+<li>
+<i>Parser(s) used, if any</i>: </li>
+                        
+<li>
+<i>Analyzer(s) used</i>: A home grown analyzer that simply removes stopwords.</li>
+                        
+<li>
+<i>Number of fields per document</i>: 1 - 31</li>
+                        
+<li>
+<i>Type of fields</i>: All text, though 2 of them are dates (20001205) that we filter on</li>
+                        
+<li>
+<i>Index persistence</i>: FSDirectory</li>
+                        
+<li>
+<i>Index size</i>: 12.5 GB</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Figures</b>
+<br>
+                        
+<li>
+<i>Time taken (in ms/s as an average of at least 3
+                                indexing runs)</i>: For 617271 documents, 209698 seconds (or ~2.5 days)</li>
+                        
+<li>
+<i>Time taken / 1000 docs indexed</i>: 340 Seconds</li>
+                        
+<li>
+<i>Memory consumption</i>: (java executed with) java -Xmx1000m -Xss8192k so
+                            1 GB of memory was allotted to the indexer</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Notes</b>
+<br>
+                            
+<p>
+                                The source documents were XML.  The "indexer" opened each document one at a time, ran an
+                                XSL transformation on them, and then proceeded to index the stream.  The indexer optimized
+                                the index every 50,000 documents (on this run) though previously, we optimized every
+                                300,000 documents.  The performance didn't change much either way.  We did no other
+                                tuning (RAM Directories, separate process to pretransform the source material, etc.)
+                                to make it index faster.  When all of these individual indexes were built, they were
+                                merged together into the main index.  That process usually took ~ a day.
+                            </p>
+                    
+</p>
+                
+</ul>
+<p>
+                    Daniel can be contacted at Armbrust.Daniel at mayo.edu.
+                </p>
+<a name="N102E2"></a><a name="Geoffrey Peddle's benchmarks"></a>
+<h3 class="boxed">Geoffrey Peddle's benchmarks</h3>
+<p>
+                  I'm doing a technical evaluation of search engines 
+                  for Ariba, an enterprise application software company.
+                   I compared Lucene to a commercial C language based
+                  search engine which I'll refer to as vendor A.  
+                  Overall Lucene's performance was similar to vendor A
+                  and met our application's requirements.  I've
+                  summarized our results below.
+                </p>
+<p>
+                  Search scalability:<br>
+                  We ran a set of 16 queries in a single thread for 20
+                  iterations.  We report below the times for the last 15
+                  iterations (ie after the system was warmed up).   The
+                  4 sets of results below are for indexes with between
+                  50,000 documents to 600,000 documents.  Although the
+                  times for Lucene grew faster with document count than
+                  vendor A they were comparable.
+                </p>
+<pre>
+50K  documents
+Lucene   5.2   seconds
+A        7.2
+200K
+Lucene   15.3
+A        15.2
+400K
+Lucene    28.2
+A         25.5
+600K
+Lucene    41
+A         33
+</pre>
+<p>
+                  Individual Query times:<br>
+                  Total query times are very similar between the 2
+                  systems but there were larger differences when you
+                  looked at individual queries.
+                </p>
+<p>
+                  For simple queries with small result sets Vendor A was
+                  consistently faster than Lucene.   For example a
+                  single query might take vendor A 32 thousands of a
+                  second and Lucene 64 thousands of a second.    Both
+                  times are however well within acceptable response
+                  times for our application.
+                </p>
+<p>
+                  For simple queries with large result sets Vendor A was
+                  consistently slower than Lucene.   For example a
+                  single query might take vendor A 300 thousands of a
+                  second and Lucene 200 thousands of a second.
+                  For more complex queries of the form   (term1 or term2
+                  or term3)  AND (term4 or term5 or term6) AND (term7 or
+                  term8)    the results were more divergent.  For
+                  queries with small result sets Vendor A generally had
+                  very short response times and sometimes Lucene had
+                  significantly larger response times.  For example
+                  Vendor A might take 16 thousands of a second and
+                  Lucene might take 156.   I do not consider it to be
+                  the case that Lucene's response time grew unexpectedly
+                  but rather that Vendor A appeared to be taking
+                  advantage of an optimization which Lucene didn't have.
+                    (I believe there's been discussions on the dev
+                  mailing list on complex queries of this sort.)
+                </p>
+<p>
+                  Index Size:<br>
+                  For our test data the size of both indexes grew
+                  linearly with the number of documents.   Note that
+                  these sizes are compact sizes, not maximum size during
+                  index loading.   The numbers below are from running du
+                  -k in the directory containing the index data.   The
+                  larger number's below for Vendor A may be because it
+                  supports additional functionality not available in
+                  Lucene.   I think it's the constant rate of growth
+                  rather than the absolute amount which is more
+                  important.
+                </p>
+<pre>
+50K  documents
+Lucene      45516 K
+A           63921
+200K
+Lucene      171565
+A           228370
+400K
+Lucene      345717
+A           457843
+600K
+Lucene      511338
+A           684913
+</pre>
+<p>
+                  Indexing Times:<br>
+                  These times are for reading the documents from our
+                  database, processing them, inserting them into the
+                  document search product and index compacting.   Our
+                  data has a large number of fields/attributes.   For
+                  this test I restricted Lucene to 24 attributes to
+                  reduce the number of files created.  Doing this I was
+                  able to specify a merge width for Lucene of 60.   I
+                  found in general that Lucene indexing performance to
+                  be very sensitive to changes in the merge width.  
+                  Note also that our application does a full compaction
+                  after inserting every 20,000 documents.   These times
+                  are just within our acceptable limits but we are
+                  interested in alternatives to increase Lucene's
+                  performance in this area.
+                </p>
+<p>
+
+<pre>
+600K documents
+Lucene       81 minutes
+A            34 minutes
+</pre>
+
+</p>
+<p>
+                  (I don't have accurate results for all sizes on this
+                  measure but believe that the indexing time for both
+                  solutions grew essentially linearly with size.   The
+                  time to compact the index generally grew with index
+                  size but it's a small percent of overall time at these
+                  sizes.)
+                </p>
+<ul>
+                    
+<p>
+                        
+<b>Hardware Environment</b>
+<br>
+                        
+<li>
+<i>Dedicated machine for indexing</i>: yes</li>
+                        
+<li>
+<i>CPU</i>: Dell Pentium 4 CPU 2.00Ghz, 1cpu</li>
+                        
+<li>
+<i>RAM</i>: 1 GB Memory</li>
+                        
+<li>
+<i>Drive configuration</i>: Fujitsu MAM3367MP SCSI </li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Software environment</b>
+<br>
+                        
+<li>
+<i>Java Version</i>: 1.4.2_02</li>
+                        
+<li>
+<i>Java VM</i>: JDK</li>
+                        
+<li>
+<i>OS Version</i>: Windows XP </li>
+                        
+<li>
+<i>Location of index</i>: local</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Lucene indexing variables</b>
+<br>
+                        
+<li>
+<i>Number of source documents</i>: 600,000</li>
+                        
+<li>
+<i>Total filesize of source documents</i>: from database</li>
+                        
+<li>
+<i>Average filesize of source documents</i>: from database</li>
+                        
+<li>
+<i>Source documents storage location</i>: from database</li>
+                        
+<li>
+<i>File type of source documents</i>: XML</li>
+                        
+<li>
+<i>Parser(s) used, if any</i>: </li>
+                        
+<li>
+<i>Analyzer(s) used</i>: small variation on WhitespaceAnalyzer</li>
+                        
+<li>
+<i>Number of fields per document</i>: 24</li>
+                        
+<li>
+<i>Type of fields</i>: A1 keyword, 1 big unindexed, rest are unstored and a mix of tokenized/untokenized</li>
+                        
+<li>
+<i>Index persistence</i>: FSDirectory</li>
+                        
+<li>
+<i>Index size</i>: 12.5 GB</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Figures</b>
+<br>
+                        
+<li>
+<i>Time taken (in ms/s as an average of at least 3
+                                indexing runs)</i>: 600,000 documents in 81 minutes   (du -k = 511338)</li>
+                        
+<li>
+<i>Time taken / 1000 docs indexed</i>: 123 documents/second</li>
+                        
+<li>
+<i>Memory consumption</i>: -ms256m -mx512m -Xss4m -XX:MaxPermSize=512M</li>
+                    
+</p>
+                    
+<p>
+                        
+<b>Notes</b>
+<br>
+                          
+<p>
+                            
+<li>merge width of 60</li>
+                            
+<li>did a compact every 20,000 documents</li>
+                          
+</p>
+                    
+</p>
+                
+</ul>
+</div>
+
+    
+</div>
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("<text>Last Published:</text> " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2006 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+</div>
+</body>
+</html>

Added: lucene/java/trunk/docs/benchmarks.pdf
URL: http://svn.apache.org/viewvc/lucene/java/trunk/docs/benchmarks.pdf?view=auto&rev=479466
==============================================================================
--- lucene/java/trunk/docs/benchmarks.pdf (added)
+++ lucene/java/trunk/docs/benchmarks.pdf Sun Nov 26 16:03:13 2006
@@ -0,0 +1,354 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 698 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gaua=966RV&:j6I$JjtgXQ[dd(oML;Bb+oMHV&OF6,ZHB\,t+#^TRbuP!,AOV)B;YddCj7m:rItls6_B+:KG*B-&h#`'`J9_Z8p;K?3]\$pj06+>1Ljid)u8XaCYF,RF(qi_,WZb%WNrmt5HA:*m2+)Z:!%]+b(/>5S%lA[O!VPrM67Z:_R%:qrI4rm_nh9EqteCiR`C%bY7UZRfGRb*n/U2<kDHZ[_4<#(>bIqQ\Ze]bfH4/aCRZ-[!t^WjVhFJC1VbN/WBoG=TJW&%g7;hW%quPs/?-@:".(q@<;X+$DXX,=qLF^k,5mZ\ZD)cTih6?0MsHo)91M2c2OVY,)VR&$<0H%X#Q0hfI.YC.J,I,Ls*a2J(aR1;-eg9pi>po8(Y7@bcb25RcPoD*fC1P5cfM]\-K>)khG$4%]+JZ(7@?/:aFSJpGJo6dlV+&c0cE*hXPL]<5k'E]!:A.]H)(\VV>IMM?)6=l_O\99ZO1e)ZPe#>sTgYaj=FgaKiS(LT08%b-`g_FAdO:DC*KCe+J*elem2X+e3QBj+acj<i1TFNF&@oKL:On,BugcT[9h(mo_d)@-rcPQ[EKeQ\Gg!Z;d[_2neY44aVZ3K/=q,!&c4RsOh/o&jk*O5D>%Z#()+I-50dmhD[DN,NjirXm<;=k?rEMDhXgkbo5MD=hm22\.3WR=12H[-2u?,dH[?~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 519.166 234.296 507.166 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 500.966 214.304 488.966 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 482.766 246.98 470.766 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 464.566 278.96 452.566 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 446.366 256.964 434.366 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 428.166 272.3 416.166 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 409.966 270.284 397.966 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 21 0 R
+/H /I
+>>
+endobj
+22 0 obj
+<< /Length 2048 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm<>B...@M>j=asW0%m>7%2!Ol<Ms$9`%*rVRR$_7_bAhk_-4ncPIamE1(21siQ&SV=6gU^`>qeCj.OK(5];rHm/44J0)7/LO/")he3-s.bHHu=,qCHK[A@8!iBT6(+)?r2R#D,VgJIHb,Z%K'BNV^@`=cHIXe"^CF)ARrc9T9-)bOl0A8kZ%CZbJ:FSJm[ih/^UeYR,ja0!Y5.s!AHqYOa(#K-VT5@!j3<?S'aNe14kqP0.?Ci76IC=8K;XfWuOkkOm>K'J8<u@pWiJd*r6<DH<K@\hIa:3"A:3ib<Od=p:rC)2K:G%h)uBn[pcXa2G$Rd]>c3AQj$^SACLsEJ3jFD46Wc<-(p#74b-,_>t&<5-X_8f^5EYg@W,jP@b0j&<i3)run!Sf^m>&.Tson7e?0KM?d(m"8\dA&IoT#oqQSM\N'<fM]#Sj8WW(oeTcPU;&br[*&3/YKX)M4n7FF<=.[LEl/KV1=]&KDS#,1jYu]+m&m'uB5\qM%&*tpQ;_s"Mq>\s<!+a)>Z2[HhA-0)#'&%5abXJ%n"_[,sNClri-!Q]Y+!Q^-\Kd%Mr_+0#_G3<N(:^TtYg!\?;W?Ok&)$[BMHE#,AGmVr%R:p4GYUZ$+F/deqS#V^Om0!Y7sAY*je0+n%%W,W?>&A>IMrZ"G%c-'68Jd%:8)3F"tH*KjoK3OSGA70S2\g`$m2!DeGA\_V!9Os[+5X-9$)*'Z[#O4=RB#5J"#BlJ4B!@aYU)\b8>)cpe)HhQD2YZP7S3m"eppB1kT0XQ&SWD6QD2
 S(;og.X*5!/6gnOsP>*[JU9&W[7,60BPcHW?C7_kgPSZURJP,W6M7r<uE,)0&AnlcQo;Y,6Cu:PFg[4;NDQ>s.4_<^G_MEHcJa@tni6<L=[r<D%!'YMEi.)L1De[0*'%&X;2NWYJq-5NKE@"Y1IR6.](nnc3E?>fA4>.h6TCg4e=:>euRH]=#B"C5bG/$$J*eS!WQB:d$R_eGW:[/r*_W=2%,J7NAn7jek#:n8Y[`^h3p3R+NOZh,OD?Ag^\<$<B)uCmSL8&MpjD01=n*Z+'o&/CY&$(Fcm%-IIH:lMn+HGt[^r&=q6HL2$rob6$X5D9m1R."9P1<;/8WWP(+-P8L*aQjuSk"1cl]M-riY?!iBh<T(o/`Z-/.?_>W@!'`+ngpfZp5k?(-ObB&^PEmLR'nr1i"\i81*W0.RVVdh@to[f6@q=U_'\E'6g7j=OkK?[EoW`%C-@r2WLt%-*A*4/iV.W6>0o6EL/AKdX[KQ7ZG<:'7[uOC()`Tqbr6$&60E:Zl1G)BNVfi&`D@TZ-S(?[F.afJDjHNL5g#enGZ6BJ%idBQ8(6!J/<0;jI#$ceS2j#DCGYA^:%m*=^R^GX.@0RnRse1/NK[f'59P?B5$d33IsJVI;;sVKhERhd;lt'YYk!$M(hrh%ds\`+p,I.@O0laS1Pca-\e(:Zp0cPc7"MWL9i&=JUDeu`XHo2SE)$:SAE6*`mcNKG<DMF@[nC4e<M4hC5k&+>X5=B!lX-l+pX2XSYIF6]68[d6:/;-drfXI.o<YUT9@_9UL;f?)+'F:Y+[N;T[N8NbJb1P!DPNYZFS8.XmhAI7-5.\,Ie]s@9G\/HMPjo3^H*tj1,I1RY_c1?om_;\\2b9R%1BK&P8_D`HBhDlc*Ud@YgnHG@oIEkPjT&[C^VM$+.<:FjO)!KqMAorMZ[?gnXpDnRBg:5jY8^U5q,iQZNfcNnl3@A/]=g);fPjm0&NsL4KN-PN*,ZpD_L"--qJ_cV]
 &sfl#_A/_@GKWAR4<ha#,Og:s;4VXJdXg,^0ki6ItfB=DfLelJ^YED&X:5oJ7g!Bn,E~>
+endstream
+endobj
+23 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 22 0 R
+>>
+endobj
+24 0 obj
+<< /Length 2407 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gau`U=``=U&:XAWi1$:*K].@ObtdS`gJ43Tdlu90J4N5JR"l*5P3lU`:m?WO.8X_*8&o,/"GshdgVraKp?\.#Z\L?g>,^>fB;oB&<YS!fD\2WoYJS)[UX6Iq[q97pcE;=0*'6_*a1(pFJa<%06RPSZ9.m=1LEGDW3u27t=h*acE-QdO>HY.Nh9O?:X^mIgENNYbi7k6s=gt7#pP!Mjp'^2O[j?.dQIk`=jA1*`4jW_OT/V(-`iEoY13p(Srip?j2<jRbFrJ:($b4=\7(U`c]g4\/RHN73kRNd3S<o[Y?AiQlDje=UH+'eB`X9Dtf<"1</*]a1eT6/pE$hn;]O*6Y`BhIg/bRAb'JoFqGZVD]j`2Y9_r:E+<@E+sp0.Vr*M(^RpGt5*]\P7J]<f(RZ0DXCE\i"iH*14tmkS4cp9ljt8Sp#hbQM,6NP6rG[HQ6Ekfd.]Cs3YNW>DFomI&NZ/-YIQ3A5otjDuq$,R7\XH'K%eJ8,!bF30O+?k/.H'pm(4-*&fJDM&?9;2Ts"892Whiug9!+S"f?Dh+"[&;$H07L=r&q*QMT03)C;(^&r:&ARI%Q%.d24[b*!hK21ZEjho*[Sbi$[H"s1T13^9<*HPp-q*t)PAtZ*k^<=:,a=ZA%-%W\!@d8&qYHoG;IDPC$"=5S$B4q[j:"^KZIj5KSk@_=jjD"7I(lUl4#.m56E[%FJe!F0'I"U(T'S+4".\/n,c4n[]+>6*o9Q0`dVYSEQ32`%QrfYR@e=cC],+k5>9jmopGHR_R3N1e7?!_AO[B'MFGMF0O(d1*BU;9(h/EjD&NVQc#CN&n=guX"F'_A^eGEX.bG&:nh.$2&Sp(g,#@k8M8.J+XX&)'2;O-th,-#j3gFb5H:*>nO!\4,&+4VITAd.)0`Tq<k>ciY.[=*P&=m5e7'8_ntit"ddoAMm?4akfKXKHSgqbge@pnHpoRk[W=jd;0b9=P-p,0-8_in.$"qKWC1!8:amL\`V
 a.:D'P8bi;$e.[g=&31Z*DlR'D7G_H-s.D%ZI(Bb],@h$FX<IJLDNW"mJ]L4dYK<8(-1iTK8`Fu)PX=0h848ZoUlhYo/hgLM0ing<C/0%a<88!@!cOAQgf*#0ft+mfBOi6H0N`d*Xc14V:d+RSdB52CQ,Qd+]8gVIc2FMMZutZ]FpaT9SBcL["B<Z(6CGT'$h36pKIEi/&IfS&D+6ZQ9f;5+7n0mL;8bsZ=Gk'1"+o?m+IlE\pJ?LRCY0,(N_:1&:O4"48(EGs3spq(-]u^(0BEUc]rKK[Vc%M;Dtocc%?@^A#81aDZAc!@*oKUPX].!%VRDUfe"D!QCLi"iesI>(kilp]R`sEY^lQTr7WgQF+>`ppA&A8.);+V0Vpt3^*X:.pX\?JqDNK)llZ)f"nAc4$K1ng9lApeumd<E8@-PNloXoM29gA4;?5V3oV>UB'Qg]AE1CL'/L=;3XT%Us+a&M*`XU/kk[Q&$bC$DHP=#H,@,co_G#J[1Z_>tm1:sDq%D5RMu4%h[_N`qhs3Ve(=)(29]SgjgrjXL"=gGi]!7#b;J@]nXQim5-nR?288;3%mCK[#J6@aHlbrW\GQh[*@Z@\+N.k,DJnkJ!rCk9gH)3LWniFkASs@g9jj7dRnV]1%@C_K:/0UdH5f,9_Z\.C#rKj,.J$cS7CMh^hpf3KN:u%t7SkS'qDuU_VP\Fs:]u2Ll9nj_GUMA@+l/!@P6)V6tOhc##rq`,S3+,-T9X[j>6g%DK_>R.3N42>*abNOJ@ZOGbIORYD;[bX5[^LYddh8C#fu^J#>PNa2o1rh/+T>0$hA1_k\sjr3<kd!+=<1D[[kPBc601S^G:'?:qFF_j&fPI$Pe;^9">:W1/0FM11#+IWSYPU]ci$"s>_4KGWT@7hYDe*Q7'h&7H_9h5f4k\7FBBfX_MDl5-h4*hc.1(]s*fqTt-ElroX-V7,@lIM\A\U$FshAZl54>ON'1b:!ZHEmb>A62c!TH'
 !DYO597$"r?d.Y+S)/h=#@R@nZDSrqTPpe@_M/u4++cHS6QTjntnJ=MKl<E"W;NF,h5`]B%rX?TFglDMuG6?t20FN!^e]W8>H9sh]i`"-'&gn?)Z@>$?oJ?J"t5]_RD(DT!:722R%;P@aH.U&>hZ@=%`%48<QN(l_LRl,?9+^nF"l0,(-+C5QFXMGl?Zo@8PWk?0V?1)T4k?3W^*6md.Id#gg]/F#mq&j;igM%XQA14rpH:@6cnj_SQ2Lrid47DEHXi("#n`+Hc$$ah<M,d%6^<8RG(\V3IkPMHgY#1fJY`j=0cMLln5Oe9\(iK@ss2!A`]Jp2UZa1T#d#::A$']"Ep3]fBT&dVX)s3f;?3gX2Fbl"Kh(F8&ZVt_kmJSF-N&n%F/*H*mn\\eiE1Rna[_-&0XI:gqf0$OMiVj#?MQ'b~>
+endstream
+endobj
+25 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 24 0 R
+>>
+endobj
+26 0 obj
+<< /Length 1370 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%#9loAB&A?Dnd*:FI?!/;DO50(I:2Q.d2S4$gF'p7M,*BeHO=-N)+7s+_)/X-32(jIDVVg_--[7Tl^-<\<5+phMIQng0.#`a7:!N]kN6grH`aKcV(7YlL*?Mq@q;!8&&2nHeoc]d*,4gSAfoi-Sb*1c9"i&rXkbgAZ50M3/gId\ta*OlSeB^M(H=k2(+Xj`c@!ll7e%!37%WMV1fm6%(+t<'Y_)RL^#])[bqBJ!!\3Z>rpa`)@s#;/>b.R_uRllNngg:JS+;Dl,+)mec-sf6PHR(9*]4#.]VU6%=qn?P>nGYO2R?DfAj;h1VGjuYqa_H':Qt"W=O&gEp-$WK!Ba9gKb1TQL@&]@d`EJ/ENl1pF<E.E\<U?iY\k#[RV7&I-?jZ9:PBpF&)C$\g&?cp@6YNC:s+G6%'VhsMS@GSm":JmM6.[FkG$'Xi6H_+%cqaSO7;bU)L"+ktQHD">Z6-XkP?ubLl/EGcVuc^a[?\=u>"a;_1fGNi8!m?5E"IY)#b\nefiQ0lW>P\S$[aZ5/E6j5HO7R(<\hQHgW@g"rM>Nh0+Sp1o9G*"[rACr<3D&s&Fc7CPSp7sJA+)/3OLqNeV0:$rp7m?a.,h0H)3fH3=WEn';dRF6>qOb(u00(P!]SW)eZL4Ub+u1omRJMQ-<L#1gtU806cV>Jb`q*!AB?'MJN4(@otXr5Jt^)E4eWu@l<mF:K"6@^Bb:-BWK&m$]\?:bGF;HeQdWD.`)%b>7W;.G816o8o"kD)Q;@N`E_,9oJVRNO4O.Na0?ArY7URq#MAlSDRuS"A#([/7Cs#Vnr?*12uO6!Z(4UK1p^%_=QRjiD9_sLN]"-T%hEV!=Y8_5f_,mR>hM'ONOP),Rc?#)eB<)7jApZZ1ViEkESFn^!d2b7=!mD'A"7epH%O-ng[%^4.k8s(J=JG1p7Y(B+=ZXfPEqnb^?8=o.'.I.s+Nas>m`ZWOoa_&WKIp13HN-TBhCkr?L-$AgKm4
 p`(GQ4i?Y'3/("i:UOmI2P$L@T.\g@>)s!YN>MbhO".U5ja/&u2pT\/]LqQD?bJomQH_D'_>CR62(n-B'%<QZ...@1>]`[Hi)M^+pLZ0a$Gi@H+"jl5gSka$(qE\I`L2IR,]_@i!tMJ$&b#NH"+i\Z`A#`jg4%2An$2&P!!14?GXFZD5lOV)InVp`h,Z$YD^KJ1QUQ>Abpk1^hcdF4IGgH[mm,U9Kl6b[["K)!+m13JH~>
+endstream
+endobj
+27 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 26 0 R
+>>
+endobj
+29 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\120\0\145\0\162\0\146\0\157\0\162\0\155\0\141\0\156\0\143\0\145\0\40\0\102\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\163)
+ /Parent 28 0 R
+ /Next 30 0 R
+ /A 9 0 R
+>> endobj
+30 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\102\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\40\0\126\0\141\0\162\0\151\0\141\0\142\0\154\0\145\0\163)
+ /Parent 28 0 R
+ /Prev 29 0 R
+ /Next 31 0 R
+ /A 11 0 R
+>> endobj
+31 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\125\0\163\0\145\0\162\0\55\0\163\0\165\0\142\0\155\0\151\0\164\0\164\0\145\0\144\0\40\0\102\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\163)
+ /Parent 28 0 R
+ /First 32 0 R
+ /Last 35 0 R
+ /Prev 30 0 R
+ /Count -4
+ /A 13 0 R
+>> endobj
+32 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\61\0\40\0\110\0\141\0\155\0\151\0\163\0\150\0\40\0\103\0\141\0\162\0\160\0\145\0\156\0\164\0\145\0\162\0\47\0\163\0\40\0\142\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\163)
+ /Parent 31 0 R
+ /Next 33 0 R
+ /A 15 0 R
+>> endobj
+33 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\62\0\40\0\112\0\165\0\163\0\164\0\151\0\156\0\40\0\107\0\162\0\145\0\145\0\156\0\145\0\47\0\163\0\40\0\142\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\163)
+ /Parent 31 0 R
+ /Prev 32 0 R
+ /Next 34 0 R
+ /A 17 0 R
+>> endobj
+34 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\63\0\40\0\104\0\141\0\156\0\151\0\145\0\154\0\40\0\101\0\162\0\155\0\142\0\162\0\165\0\163\0\164\0\47\0\163\0\40\0\142\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\163)
+ /Parent 31 0 R
+ /Prev 33 0 R
+ /Next 35 0 R
+ /A 19 0 R
+>> endobj
+35 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\64\0\40\0\107\0\145\0\157\0\146\0\146\0\162\0\145\0\171\0\40\0\120\0\145\0\144\0\144\0\154\0\145\0\47\0\163\0\40\0\142\0\145\0\156\0\143\0\150\0\155\0\141\0\162\0\153\0\163)
+ /Parent 31 0 R
+ /Prev 34 0 R
+ /A 21 0 R
+>> endobj
+36 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+37 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+38 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+39 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+40 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 4
+/Kids [6 0 R 23 0 R 25 0 R 27 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 28 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 36 0 R /F5 37 0 R /F1 38 0 R /F2 39 0 R /F7 40 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 85.0 519.466 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 85.0 480.332 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 85.0 372.398 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 85.0 321.145 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 85.0 269.892 null]
+>>
+endobj
+21 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+28 0 obj
+<<
+ /First 29 0 R
+ /Last 31 0 R
+>> endobj
+xref
+0 41
+0000000000 65535 f 
+0000010795 00000 n 
+0000010874 00000 n 
+0000010966 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000000860 00000 n 
+0000000980 00000 n 
+0000001047 00000 n 
+0000011089 00000 n 
+0000001182 00000 n 
+0000011152 00000 n 
+0000001319 00000 n 
+0000011218 00000 n 
+0000001455 00000 n 
+0000011284 00000 n 
+0000001591 00000 n 
+0000011350 00000 n 
+0000001728 00000 n 
+0000011416 00000 n 
+0000001863 00000 n 
+0000011482 00000 n 
+0000002000 00000 n 
+0000004141 00000 n 
+0000004249 00000 n 
+0000006749 00000 n 
+0000006857 00000 n 
+0000008320 00000 n 
+0000011546 00000 n 
+0000008428 00000 n 
+0000008650 00000 n 
+0000008869 00000 n 
+0000009149 00000 n 
+0000009422 00000 n 
+0000009691 00000 n 
+0000009972 00000 n 
+0000010239 00000 n 
+0000010352 00000 n 
+0000010462 00000 n 
+0000010570 00000 n 
+0000010686 00000 n 
+trailer
+<<
+/Size 41
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+11597
+%%EOF

Added: lucene/java/trunk/docs/contributions.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/docs/contributions.html?view=auto&rev=479466
==============================================================================
--- lucene/java/trunk/docs/contributions.html (added)
+++ lucene/java/trunk/docs/contributions.html Sun Nov 26 16:03:13 2006
@@ -0,0 +1,632 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-skin-name" content="pelt">
+<title>
+	Apache Lucene - Contributions
+		</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="images/favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<div class="breadtrail">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/java/">Java</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<div class="header">
+<div class="grouplogo">
+<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="http://lucene.apache.org/java/docs/images/asf-logo.gif" title="Apache Lucene"></a>
+</div>
+<div class="projectlogo">
+<a href="http://lucene.apache.org/java/"><img class="logoImage" alt="Lucene" src="http://lucene.apache.org/images/lucene_green_300.gif" title="Apache Lucene is a high-performance, full-featured text search engine library written entirely in
+      Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform."></a>
+</div>
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
+                    <input attr="value" name="Search" value="Search" type="submit">
+</form>
+</div>
+<ul id="tabs">
+<li class="current">
+<a class="base-selected" href="index.html">Main</a>
+</li>
+<li>
+<a class="base-not-selected" href="http://wiki.apache.org/jakarta-lucene">Wiki</a>
+</li>
+</ul>
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<div id="level2tabs"></div>
+<script type="text/javascript"><!--
+document.write("<text>Last Published:</text> " + document.lastModified);
+//  --></script>
+</div>
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">About</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="index.html" title="Welcome to Java Lucene">Overview</a>
+</div>
+<div class="menuitem">
+<a href="features.html">Features</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/jakarta-lucene/PoweredBy">Powered by Lucene</a>
+</div>
+<div class="menuitem">
+<a href="whoweare.html">Who We Are</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2', 'skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="api/">API Docs</a>
+</div>
+<div class="menuitem">
+<a href="benchmarks.html">Benchmarks</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Contributions</div>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/jakarta-lucene/LuceneFAQ">FAQ</a>
+</div>
+<div class="menuitem">
+<a href="fileformats.html">File Formats</a>
+</div>
+<div class="menuitem">
+<a href="gettingstarted.html">Getting Started</a>
+</div>
+<div class="menuitem">
+<a href="lucene-sandbox/index.html">Lucene Sandbox</a>
+</div>
+<div class="menuitem">
+<a href="queryparsersyntax.html">Query Syntax</a>
+</div>
+<div class="menuitem">
+<a href="scoring.html">Scoring</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/jakarta-lucene">Wiki</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Resources</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://issues.apache.org/jira/browse/LUCENE">Issue Tracking</a>
+</div>
+<div class="menuitem">
+<a href="mailinglists.html">Mailing Lists</a>
+</div>
+<div class="menuitem">
+<a href="releases.html">Downloads</a>
+</div>
+<div class="menuitem">
+<a href="http://svn.apache.org/viewcvs.cgi/lucene/java/">Version Control</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Site Versions</div>
+<div id="menu_1.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="./">Official</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.5', 'skin/')" id="menu_1.5Title" class="menutitle">Related Projects</div>
+<div id="menu_1.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://lucene.apache.org">Lucene (Top-Level)</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.apache.org/hadoop/">Hadoop</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.apache.org/lucy/">Lucy</a>
+</div>
+<div class="menuitem">
+<a href="http://incubator.apache.org/projects/lucene.net.html">Lucene.NET</a>
+</div>
+<div class="menuitem">
+<a href="http://lucene.apache.org/nutch/">Nutch</a>
+</div>
+<div class="menuitem">
+<a href="http://incubator.apache.org/solr/">SOLR</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<div id="credit2"></div>
+</div>
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="contributions.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>
+	Apache Lucene - Contributions
+		</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Overview">Overview</a>
+</li>
+<li>
+<a href="#Lucene Tools">Lucene Tools</a>
+<ul class="minitoc">
+<li>
+<a href="#Luke">Luke</a>
+</li>
+<li>
+<a href="#LIMO (Lucene Index Monitor)">LIMO (Lucene Index Monitor)</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Lucene Document Converters">Lucene Document Converters</a>
+<ul class="minitoc">
+<li>
+<a href="#XML Document #1">XML Document #1</a>
+</li>
+<li>
+<a href="#XML Document #2">XML Document #2</a>
+</li>
+<li>
+<a href="#PDF Box">PDF Box</a>
+</li>
+<li>
+<a href="#XPDF - PDF Document Conversion">XPDF - PDF Document Conversion</a>
+</li>
+<li>
+<a href="#PDFTextStream -- PDF text and metadata extraction">PDFTextStream -- PDF text and metadata extraction</a>
+</li>
+<li>
+<a href="#PJ Classic & PJ Professional - PDF Document Conversion">PJ Classic &amp; PJ Professional - PDF Document Conversion</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Miscellaneous">Miscellaneous</a>
+<ul class="minitoc">
+<li>
+<a href="#Arabic Analyzer for Java">Arabic Analyzer for Java</a>
+</li>
+<li>
+<a href="#Phonetix">Phonetix</a>
+</li>
+<li>
+<a href="#ejIndex - JBoss MBean for Lucene">ejIndex - JBoss MBean for Lucene</a>
+</li>
+<li>
+<a href="#JavaCC">JavaCC</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+        
+<a name="N10013"></a><a name="Overview"></a>
+<h2 class="boxed">Overview</h2>
+<div class="section">
+<p>This page lists external Lucene resources. If you have
+            written something that should be included, please post all
+            relevant information to one of the mailing lists.  Nothing
+            listed here is directly supported by the Lucene
+            developers, so if you encounter any problems with any of
+            this software, please use the author's contact information
+            to get help.</p>
+<p>If you are looking for information on contributing patches or other improvements to Lucene, see
+            <a href="http://wiki.apache.org/jakarta-lucene/HowToContribute">How To Contribute</a> on the Lucene Wiki.</p>
+</div>
+
+        
+<a name="N10024"></a><a name="Lucene Tools"></a>
+<h2 class="boxed">Lucene Tools</h2>
+<div class="section">
+<p>
+                Software that works with Lucene indices.
+            </p>
+<a name="N1002D"></a><a name="Luke"></a>
+<h3 class="boxed">Luke</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://www.getopt.org/luke/">
+                                http://www.getopt.org/luke/
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Andrzej Bialecki
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N1004E"></a><a name="LIMO (Lucene Index Monitor)"></a>
+<h3 class="boxed">LIMO (Lucene Index Monitor)</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://limo.sf.net/">
+                                http://limo.sf.net/
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Julien Nioche
+                        </td>
+                    
+</tr>
+                
+</table>
+</div>
+
+        
+<a name="N10071"></a><a name="Lucene Document Converters"></a>
+<h2 class="boxed">Lucene Document Converters</h2>
+<div class="section">
+<p>
+                Lucene requires information you want to index to be
+                converted into a Document class.  Here are
+                contributions for various solutions that convert different
+                content types to Lucene's Document classes.
+            </p>
+<a name="N1007A"></a><a name="XML Document #1"></a>
+<h3 class="boxed">XML Document #1</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://marc.theaimsgroup.com/?l=lucene-dev&m=100723333506246&w=2">
+                                http://marc.theaimsgroup.com/?l=lucene-dev&amp;m=100723333506246&amp;w=2
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Philip Ogren - ogren@mayo.edu
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N1009C"></a><a name="XML Document #2"></a>
+<h3 class="boxed">XML Document #2</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://www.mail-archive.com/lucene-user@jakarta.apache.org/msg00346.html">
+                                http://www.mail-archive.com/lucene-user@jakarta.apache.org/msg00346.html
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Peter Carlson - carlson@bookandhammer.com
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N100BE"></a><a name="PDF Box"></a>
+<h3 class="boxed">PDF Box</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://www.pdfbox.org/">
+                                http://www.pdfbox.org/
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Ben Litchfield - ben@csh.rit.edu
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N100E0"></a><a name="XPDF - PDF Document Conversion"></a>
+<h3 class="boxed">XPDF - PDF Document Conversion</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://www.foolabs.com/xpdf">
+                                http://www.foolabs.com/xpdf
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            N/A
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N10102"></a><a name="PDFTextStream -- PDF text and metadata extraction"></a>
+<h3 class="boxed">PDFTextStream -- PDF text and metadata extraction</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://snowtide.com">
+                                http://snowtide.com
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            N/A
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N10124"></a><a name="PJ Classic & PJ Professional - PDF Document Conversion"></a>
+<h3 class="boxed">PJ Classic &amp; PJ Professional - PDF Document Conversion</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href=" http://www.etymon.com/">
+                                http://www.etymon.com/
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            N/A
+                        </td>
+                    
+</tr>
+                
+</table>
+</div>
+
+        
+<a name="N10147"></a><a name="Miscellaneous"></a>
+<h2 class="boxed">Miscellaneous</h2>
+<div class="section">
+<p>
+            
+</p>
+<a name="N10150"></a><a name="Arabic Analyzer for Java"></a>
+<h3 class="boxed">Arabic Analyzer for Java</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://savannah.nongnu.org/projects/aramorph">
+                                http://savannah.nongnu.org/projects/aramorph
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Pierrick Brihaye
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N10172"></a><a name="Phonetix"></a>
+<h3 class="boxed">Phonetix</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://www.companywebstore.de/tangentum/mirror/en/products/phonetix/index.html">
+                                http://www.companywebstore.de/tangentum/mirror/en/products/phonetix/index.html
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            tangentum technologies
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N10194"></a><a name="ejIndex - JBoss MBean for Lucene"></a>
+<h3 class="boxed">ejIndex - JBoss MBean for Lucene</h3>
+<p>
+                
+</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="http://ejindex.sourceforge.net/">
+                                http://ejindex.sourceforge.net/
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Andy Scholz
+                        </td>
+                    
+</tr>
+                
+</table>
+<a name="N101B9"></a><a name="JavaCC"></a>
+<h3 class="boxed">JavaCC</h3>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+                    
+<tr>
+                        
+<th width="%1">
+                            URL
+                        </th>
+                        <td>
+                            <a href="https://javacc.dev.java.net/">
+                                https://javacc.dev.java.net/
+                            </a>
+                        </td>
+                    
+</tr>
+                    
+<tr>
+                        
+<th width="%1">
+                            author
+                        </th>
+                        <td>
+                            Sun Microsystems (java.net)
+                        </td>
+                    
+</tr>
+                
+</table>
+</div>
+    
+</div>
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("<text>Last Published:</text> " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2006 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+</div>
+</body>
+</html>

Added: lucene/java/trunk/docs/contributions.pdf
URL: http://svn.apache.org/viewvc/lucene/java/trunk/docs/contributions.pdf?view=auto&rev=479466
==============================================================================
--- lucene/java/trunk/docs/contributions.pdf (added)
+++ lucene/java/trunk/docs/contributions.pdf Sun Nov 26 16:03:13 2006
@@ -0,0 +1,608 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 1056 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!#\?#SFN'Rf.G=IM(_6bW7FJ]C)YW<cJ#k+U57#8^('/]:p-qQXBl4+[1D<YDbS8fnt@'AM^FqV7#+@I)B&6^2'kL%CUCs%Q]=\n_o=R6Q:L[a4+XAptPM$hUiTqB2^1We4&[co'^g8'@l(5l8J_%Wml3dHr]MFHUdn2\ZbHHit$bcF5NbkRpS#]UWN,Eg;6-A/])AWJ1ZiiI;f`-eN'\3CG96j'l0.Ib!"jpH1>!;G$;B,S9K(a!70]UL4,j"m't3U:1DiicU'kHrT??Un0WGQk:G1@sE2XB(gl2[%9)<iF'WVeoM%/(C?q^U"44,;ut3HKO7WTFkgi,$'/K!k)OZR3+Z3.i((s4l5f57agr:QXSjKIH'_r?Z/3%S"`&o9?&UGmNo0aH!uK'Q4hKiY-W.%qS'G4fAYp\qM<;^F6p12I-7_9]2W>m+S*cW8/f2N1>`Z-TirmBG%WN'([*78Lgc>*Z_dX(l*TF9CUKtMsO9;*Y]BLi4X0oKi47-(g`L6om^t3S(n"%)T()?S7+^]6pprV4"A(oP\8%(NQ?''2PA$sfhO&k,V0X%;_n^e`8:Yau"s(`[;7CIaBs'c]Mcoi'K\8s__l4j;D6Sqcgq,O"9\H#O?VF>C<XsK:"CFiF;B/5gVa'_h+c2U?^S,.GXBH[L45egV5J=d7d%`^?JU8dJR#Qt1<8ZLr'Z]QBj_a]e0_[Dn^A#V7_bHC5Mk:%idLZi`B9iW1V7-Wf1X$8ssPmiR3TKtE%>'=b(]KnT3psW4!_>lPQ48eZMr!cTubVa&BjeFqs2J16bm;X=D7E[.ilI-rq:[WA"o'"^TTeHM^Wdj=p;c>61MK=2,KR!0<X25$qH.^_O#&<&0P0#6EYV%3Y6Fb9\\:GV`Y=ss88<FI%j*EC=FoW5H3N4Le22BLdlXt4L;;;ouj+i17DMfJ(0GQ!9B\rU6lJ#MT>,gQ@/e,;jQQjAF!FMK@X3U`15J3f>h0n]D/T.L
 0Y!kM"GHDG5TPWMa>j6P5,ZE'2Y*Xu:QH&YRGV+q]UR4+FD3_*m;9c>?rYm-)VNq~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+22 0 R
+24 0 R
+26 0 R
+28 0 R
+30 0 R
+32 0 R
+34 0 R
+36 0 R
+38 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 546.166 157.316 534.166 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 527.966 175.652 515.966 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 509.766 148.16 497.766 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 491.566 273.128 479.566 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 473.366 253.964 461.366 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 455.166 218.156 443.166 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 436.966 218.156 424.966 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 21 0 R
+/H /I
+>>
+endobj
+22 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 418.766 168.512 406.766 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 23 0 R
+/H /I
+>>
+endobj
+24 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 400.566 297.5 388.566 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 25 0 R
+/H /I
+>>
+endobj
+26 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 382.366 376.136 370.366 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 27 0 R
+/H /I
+>>
+endobj
+28 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 364.166 404.84 352.166 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 29 0 R
+/H /I
+>>
+endobj
+30 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 345.966 179.324 333.966 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 31 0 R
+/H /I
+>>
+endobj
+32 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 327.766 244.448 315.766 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 33 0 R
+/H /I
+>>
+endobj
+34 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 309.566 166.172 297.566 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 35 0 R
+/H /I
+>>
+endobj
+36 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 291.366 291.128 279.366 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 37 0 R
+/H /I
+>>
+endobj
+38 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 273.166 160.832 261.166 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 39 0 R
+/H /I
+>>
+endobj
+40 0 obj
+<< /Length 2281 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm>=`<=Y&:XAW&5ZaF?pfjJW2%/&gJ,9rp?L3t$Zu9=aL%d5'"sN?Du/cm?-t?gCar#.,bd+?c@#P%L-t.cC@UV)nSM\Z5O`N)eUJTulbCXRI*7[WC\m"Vf@D.MO_qYQ;84,P?_:b]0QeqgXc(/:MjLK`ns*kH>%"a@f[b5>hOqTfeZ(Z0M7_=gZi5E*d8T@i1p;2qC!Ym)iJ4>^5M#+*CF3r+?[%]3#PkOW:E(uUZq6[>8NWn8+i27igA+ch;@GAL_CZj!Bi:2R+obkhR>:$GkC"*8*%4?aLe:.L!)C2_%+eRT)?t2k#HA#sPU4Y2)hl@X)(56'\5gOW#m=^7V<_Q;_)n0/?YpmIcIX>&dV@%Yc[`n^%gudb:)%)n0MS6^.Gon@Gb!h6+g\CH"L,KP_mP$QL^itZ4NPAbebj6&#7u=u2h7h13,h%CEn#B3(h*0aK9][hP"0)0"i.3_4!D"u?<g4WHZR`hI*Y`rj0En6QOi"270/uMU<44O!9?/-Fsk6tatmH$+XuFXi>USc#^hU/%Y@U=H6G3.+dDm1)_*ho0F4^7(@j2)>pStrN97?Sb=f?ukmi\6i7c9>*12\]:r9FOi_lP0ZK$U@n@Ed2-5T[]]jhkE;9XU+n=>H/E"/")/_lq14GW/']&$?Kfr2ZGGFb62%bu@T%`;ZX??Y0Ebf:_b9&;drb65WaHd=agLkjb/,p05l]&2./^.heO$(A;I,t(p1Q3=)U*M_\AI[;0l]-^Oo$.r(/Id_ku.et-=]UTDRRhdCI3baMhK>Ho!$rPr[6Bole0[ha0>u`-jVhZ.*5[X(R>TMt+3YM&u3]:GT]&"`;I4;;tWmPBMa$lTJ-,aMV%1kOo4JIGXO-8CZb54IV:L1n0cq(2%hS+JESgpsV.C9;%nm_kU?XX>s4kR[?"pZ!EeT2]f@1]f-s7,4L(rfMYb$:UZFH.P&gN,hsA'7VT"a>G12m8#+`+?LVEOe1O%S2iiYq(r
 ugL[CP\\&M;'3*GX2P\t<CI...@U_8X>VIpr8V\f<G*k+8%Kdf*7d0L7+6D*9`9m4FOkL3JK4j_l$.I&96ZLCI/^9/M2s'sr#!df+ia/Ul`)=I)\R?@NkAH'WPMgYPBI;H$dg9!C*VQ1QPS)ZEib3&5+Y0\*:akn9AA#At/[RhQ&&#_3'PINFC]SjB^fWl/mh2XQ+*cNr=Iq!]#l9Lm+H'A6>gg:e$^A'Y"$tU<NE#5NdUcH1hQ,9u/RQ<(-e>Nl@G+.
 slLhicu,ch:kF'b:cZj([DVKDl;M?7DBr6>E.o]"c[j,T1A0P)Uc)W;o/kVMZk3,XrYGpq-.N#.)EIJ2YeLs%JZa'k9R=VJ9^GPR+uW]u+"g*$Sr7P%?sED65(dtZ;qHbK7mJ\Za.qUV&m3nO6Z_#9QHC,4OB]<!W5gH'"jrjlMU;\i6&>(J.L?=+AXs4b&TPlT/,r26bHT#2]B<$)d`bYmO2PHHC+MqsXl[W+=CpQ[EpN/2>__e@TZd0p"=bntnef\Um"WdNXpdg2n[s(9XgR^ie[jsm@sq&8mDrr\p1c3X~>
+endstream
+endobj
+41 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 40 0 R
+>>
+endobj
+42 0 obj
+<< /Length 2201 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gau0F9lo&I&A@sBnC1#>L57L3oMdoO48#Bi2c43Ke+Q%"OMk*B<0E.+r;&$;a96!D>Y&`f[KUtYfR8/E(+]6-HL^%fink+^/E,omM_l\f&4I1Y(UA=7aV%&[AO3;Iqhs>aY)Pe>Ou*Jjd/4TB2Etc?-:(H\K>YJ%petS/OJ:Wa_J@8q*@<^b5WSaW]!r%#a?oYtK?dJ9P!VF_:%7<b:,mM,6+1_(k3i1B^UVjUDhGfWl)cI'/kIPPI/kH:dZIoCs1iFMWqDXZY5hqL6lUMGfF_bO$\^7<?T@G:['?NlcnoVl))^mO[c[X^QU;RNZ$-@.\Y0$547K3Q5#!JWHPnP5=;5uKs8MP@$Y'ZbmgGB'k9s6bR7lt-XW51"-7>_YgY;5!l?`@+AFf6Z5dp:']m_6<>Y]+R%^TuU.un12!d1bAVP5XD1s8!$g48njY(-`#8g9F=80ESSVZsbL=0H^kKO%maNShm"1[`oWKrH'.aMBJJTkdXbC)87Wg3q'.fkQYMot8%_ftY1$`=K:i7EW7iC;0S"K'+Pm9R'dH(bHin\;W_dA\-K5@HmP/"!PEA+RnjmCq!81h-YH*M_D*3Ea9YaIMk_o;fRukb=FHDpseBO"]:IMO@TY<R`%:0!?(bJP[@$P@O_r3mg#*##?.,ebY;sN?n4aOH<H^>GV%r`BYD^Z.l,SCaWn.nPl)'$`_l+oZqdWP>uM&SWo4u0J;cWlrZu2F6inb9IK5AbcZ:m#'_B.?NaUq@R#TIrPH3<"EQ[#+o9\tY*5cGCj)TAaT;os.;dHD>A*Ne46*J,7?Y.3h?Yi]4c*KIsYCLJXc0AeB0;,d$JtAe2N@tNDNrg<4N#/.C_(MSZ!q^Hq!]'HsBYAqqO%'hWomT0:Hk;"qOa1#a?J*C4XBl\%!$7p.<M:N"I'+B]7qqm?9,tp27-UM7jD>(Y.>E'1!]'ION>E1\iLSsbh@H:Lqfm"uL0?d.aq9RPe?T[4?&]YP[:SO
 'nH/Os"&kubOfe/_f("*X<E2...@Ljuc3Kis>8q46a=,ai8$2Edb3\!QAlm?^T"_51^Tu5;i\p[s*<lNgMSdh3OiE`B?K]8#bICHS'TOTij.,>lcj$kd5G91h&.V):1Q(r.jmk\cL.CBs@X)<38$I"^L(2IX'EK[!7CFCo/saJZIHn$gok-._X%??()dR>_W%Krd"i\/biB+Rdo<pLFgqu3q!?$6#QXU8Cp_Z#dp]34#K?qfpE6\\e3J,XOc4(>rb>h^-Z[_h,%G,1*b+@*5p+@,c[S"6pSO)iR.Gr<1ZR;*)/l\A`IRqZcCa2]E+dde4M"!I]%:'Nfdl_><4\g2B%UD?>rWLJX*0)`cAqodWb2n8T++34JIXJAb,?Qtka+hX'+^fQIB#W5O]!#jS.Pb(h3\-LMr9cJ,9jX-sS>`0Eo(fGNnu\VT,VS<FOf[im)Q2kQBQ<B$P+\#0c'(cY_bRj3(QbmlX#b*bM4?a,!#hcN\JZ>eqHtdC0QODG7d-7a]r]h#[OUoQ06:.,U:*"D+a]WrCHI5&,b@g"p>5nMcTa>liV[NVp0(O_28`\"X>k0ns0.ul665D''RHWIj`>oB4Sf/>"A)PV;h7<&nHu)=^1&8U($OW'"_?sqkRSB]E^D(H5PP9@nj-6L8*4)'H=8<oY^0H/"*dLh:nKh3YOnuf.H'Gg&J0HILJ>\REHF8TZ'0'5f2MjDDKpph+CgHII*.r#?K)+F&"rH>H>^`WAj2U)&W@
 \dZOsbuk"i\AJ"!M3qQ%GJEl3K^L_g+4K.Kr5rds<JS'>!6I>=2cEQ!2%Zn>Vo<pt--QhgT_H&=\".G[^RS\gc4H\i2e#W*I[$EJI;)k3eoZK3b?DWS5A-pWnP2q$]IPU$EC&ci<-3Tlsi5*bqa<VIp?`?ahP/.A;&2)SdK$O`I7?G39ZZI6=)UNa[>COdOngNq[/g:]"PXX[>";01.fpE(5&-AM~>
+endstream
+endobj
+43 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 42 0 R
+>>
+endobj
+44 0 obj
+<< /Length 707 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GatUpbANe7'Sc?E`ECn&%s)<LmLlR\'W"]sOB'a5Z14Y_^]j'SDr8H_`DB:qT\'<Xi*8Kqc?0bI9nGS1K+/k\JY@``'Ld84W`dY),t\Il1O'CY"P92--*`<+JEA=!CT`P`(nf["q[`.6TZa!=T7PsIO<IkB?ihDrl[[^+./k*kY#5hK3$b]sF!?Gd;j_PDBQBR`e+n@u^EC)[[3ZMA;P2B0Cs:?D`?0Ds<n:>T?\uLe93\\Fr/@u&L#IUVCTi/&)LJ=e1YQ#Qf#@C<$UcnqTe34LpD"Ap(bjYfB+Aro(r8-JEC"iF>Nh.BG<X"J_iFu_o/THYFQZ8TAudPgE[<0%%I`<0f(HcR&r+.uNQWVNAOk0"8Y4J+bO'_[%<?qlCM1f_Bh]IZ5D9V`D1mNnk[a-4BV;Og,">rB'YekC&PN`.[OBI8C_WPc0D)Rk[i-4)<*`nmd?mSjiK-!.:WL`4qmK^p7J0^3fk]-qI@?[*pGD86L'nJGOmP*a`g3,.Tf?_U[u?e7qUIc8DDN5(';Hc^PIn^fbD3Q=KAF2]lZ2`IW-:[:%:n<f!g?JU[-FMA*V*pac[V3/X@U82&5oUA_S2q;@1CZLlnlEf1Y5O8,#^Jr,6b?j*a'Fs?L6Rlh.BkQ`40:TN`-kh];4Iq2\$qAIjin@hm@Ln/;cg/8fJPaEI2uq2`A/:]#q+sb%%k(4hH1j?_+(~>
+endstream
+endobj
+45 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 44 0 R
+>>
+endobj
+47 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\117\0\166\0\145\0\162\0\166\0\151\0\145\0\167)
+ /Parent 46 0 R
+ /Next 48 0 R
+ /A 9 0 R
+>> endobj
+48 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\114\0\165\0\143\0\145\0\156\0\145\0\40\0\124\0\157\0\157\0\154\0\163)
+ /Parent 46 0 R
+ /First 49 0 R
+ /Last 50 0 R
+ /Prev 47 0 R
+ /Next 51 0 R
+ /Count -2
+ /A 11 0 R
+>> endobj
+49 0 obj
+<<
+ /Title (\376\377\0\62\0\56\0\61\0\40\0\114\0\165\0\153\0\145)
+ /Parent 48 0 R
+ /Next 50 0 R
+ /A 13 0 R
+>> endobj
+50 0 obj
+<<
+ /Title (\376\377\0\62\0\56\0\62\0\40\0\114\0\111\0\115\0\117\0\40\0\50\0\114\0\165\0\143\0\145\0\156\0\145\0\40\0\111\0\156\0\144\0\145\0\170\0\40\0\115\0\157\0\156\0\151\0\164\0\157\0\162\0\51)
+ /Parent 48 0 R
+ /Prev 49 0 R
+ /A 15 0 R
+>> endobj
+51 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\114\0\165\0\143\0\145\0\156\0\145\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\164\0\145\0\162\0\163)
+ /Parent 46 0 R
+ /First 52 0 R
+ /Last 57 0 R
+ /Prev 48 0 R
+ /Next 58 0 R
+ /Count -6
+ /A 17 0 R
+>> endobj
+52 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\61\0\40\0\130\0\115\0\114\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\40\0\43\0\61)
+ /Parent 51 0 R
+ /Next 53 0 R
+ /A 19 0 R
+>> endobj
+53 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\62\0\40\0\130\0\115\0\114\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\40\0\43\0\62)
+ /Parent 51 0 R
+ /Prev 52 0 R
+ /Next 54 0 R
+ /A 21 0 R
+>> endobj
+54 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\63\0\40\0\120\0\104\0\106\0\40\0\102\0\157\0\170)
+ /Parent 51 0 R
+ /Prev 53 0 R
+ /Next 55 0 R
+ /A 23 0 R
+>> endobj
+55 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\64\0\40\0\130\0\120\0\104\0\106\0\40\0\55\0\40\0\120\0\104\0\106\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156)
+ /Parent 51 0 R
+ /Prev 54 0 R
+ /Next 56 0 R
+ /A 25 0 R
+>> endobj
+56 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\65\0\40\0\120\0\104\0\106\0\124\0\145\0\170\0\164\0\123\0\164\0\162\0\145\0\141\0\155\0\40\0\55\0\55\0\40\0\120\0\104\0\106\0\40\0\164\0\145\0\170\0\164\0\40\0\141\0\156\0\144\0\40\0\155\0\145\0\164\0\141\0\144\0\141\0\164\0\141\0\40\0\145\0\170\0\164\0\162\0\141\0\143\0\164\0\151\0\157\0\156)
+ /Parent 51 0 R
+ /Prev 55 0 R
+ /Next 57 0 R
+ /A 27 0 R
+>> endobj
+57 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\66\0\40\0\120\0\112\0\40\0\103\0\154\0\141\0\163\0\163\0\151\0\143\0\40\0\46\0\40\0\120\0\112\0\40\0\120\0\162\0\157\0\146\0\145\0\163\0\163\0\151\0\157\0\156\0\141\0\154\0\40\0\55\0\40\0\120\0\104\0\106\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156)
+ /Parent 51 0 R
+ /Prev 56 0 R
+ /A 29 0 R
+>> endobj
+58 0 obj
+<<
+ /Title (\376\377\0\64\0\40\0\115\0\151\0\163\0\143\0\145\0\154\0\154\0\141\0\156\0\145\0\157\0\165\0\163)
+ /Parent 46 0 R
+ /First 59 0 R
+ /Last 62 0 R
+ /Prev 51 0 R
+ /Count -4
+ /A 31 0 R
+>> endobj
+59 0 obj
+<<
+ /Title (\376\377\0\64\0\56\0\61\0\40\0\101\0\162\0\141\0\142\0\151\0\143\0\40\0\101\0\156\0\141\0\154\0\171\0\172\0\145\0\162\0\40\0\146\0\157\0\162\0\40\0\112\0\141\0\166\0\141)
+ /Parent 58 0 R
+ /Next 60 0 R
+ /A 33 0 R
+>> endobj
+60 0 obj
+<<
+ /Title (\376\377\0\64\0\56\0\62\0\40\0\120\0\150\0\157\0\156\0\145\0\164\0\151\0\170)
+ /Parent 58 0 R
+ /Prev 59 0 R
+ /Next 61 0 R
+ /A 35 0 R
+>> endobj
+61 0 obj
+<<
+ /Title (\376\377\0\64\0\56\0\63\0\40\0\145\0\152\0\111\0\156\0\144\0\145\0\170\0\40\0\55\0\40\0\112\0\102\0\157\0\163\0\163\0\40\0\115\0\102\0\145\0\141\0\156\0\40\0\146\0\157\0\162\0\40\0\114\0\165\0\143\0\145\0\156\0\145)
+ /Parent 58 0 R
+ /Prev 60 0 R
+ /Next 62 0 R
+ /A 37 0 R
+>> endobj
+62 0 obj
+<<
+ /Title (\376\377\0\64\0\56\0\64\0\40\0\112\0\141\0\166\0\141\0\103\0\103)
+ /Parent 58 0 R
+ /Prev 61 0 R
+ /A 39 0 R
+>> endobj
+63 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+64 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+65 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+66 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+67 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 4
+/Kids [6 0 R 41 0 R 43 0 R 45 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 46 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 63 0 R /F5 64 0 R /F1 65 0 R /F2 66 0 R /F7 67 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 532.666 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 480.332 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 409.779 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 339.226 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 260.492 null]
+>>
+endobj
+21 0 obj
+<<
+/S /GoTo
+/D [41 0 R /XYZ 85.0 189.939 null]
+>>
+endobj
+23 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+25 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 588.447 null]
+>>
+endobj
+27 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 517.894 null]
+>>
+endobj
+29 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 447.341 null]
+>>
+endobj
+31 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 376.788 null]
+>>
+endobj
+33 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 337.654 null]
+>>
+endobj
+35 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 267.101 null]
+>>
+endobj
+37 0 obj
+<<
+/S /GoTo
+/D [43 0 R /XYZ 85.0 196.548 null]
+>>
+endobj
+39 0 obj
+<<
+/S /GoTo
+/D [45 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+46 0 obj
+<<
+ /First 47 0 R
+ /Last 58 0 R
+>> endobj
+xref
+0 68
+0000000000 65535 f 
+0000013756 00000 n 
+0000013835 00000 n 
+0000013927 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000001219 00000 n 
+0000001339 00000 n 
+0000001469 00000 n 
+0000014050 00000 n 
+0000001604 00000 n 
+0000014113 00000 n 
+0000001741 00000 n 
+0000014179 00000 n 
+0000001877 00000 n 
+0000014245 00000 n 
+0000002014 00000 n 
+0000014311 00000 n 
+0000002151 00000 n 
+0000014377 00000 n 
+0000002288 00000 n 
+0000014443 00000 n 
+0000002425 00000 n 
+0000014509 00000 n 
+0000002562 00000 n 
+0000014573 00000 n 
+0000002697 00000 n 
+0000014639 00000 n 
+0000002834 00000 n 
+0000014705 00000 n 
+0000002970 00000 n 
+0000014771 00000 n 
+0000003107 00000 n 
+0000014837 00000 n 
+0000003244 00000 n 
+0000014903 00000 n 
+0000003381 00000 n 
+0000014969 00000 n 
+0000003518 00000 n 
+0000015035 00000 n 
+0000003655 00000 n 
+0000006029 00000 n 
+0000006137 00000 n 
+0000008431 00000 n 
+0000008539 00000 n 
+0000009338 00000 n 
+0000015099 00000 n 
+0000009446 00000 n 
+0000009585 00000 n 
+0000009802 00000 n 
+0000009928 00000 n 
+0000010187 00000 n 
+0000010487 00000 n 
+0000010675 00000 n 
+0000010877 00000 n 
+0000011034 00000 n 
+0000011325 00000 n 
+0000011727 00000 n 
+0000012143 00000 n 
+0000012353 00000 n 
+0000012596 00000 n 
+0000012760 00000 n 
+0000013062 00000 n 
+0000013200 00000 n 
+0000013313 00000 n 
+0000013423 00000 n 
+0000013531 00000 n 
+0000013647 00000 n 
+trailer
+<<
+/Size 68
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+15150
+%%EOF