<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<title>Parameters affecting multithread processing - - Recoll user manual</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></meta><link rel="home" href="index.html" title="Recoll user manual"></link><link rel="up" href="RCL.INSTALL.CONFIG.RECOLLCONF.html" title="The main configuration file, recoll.conf"></link><link rel="prev" href="RCL.INSTALL.CONFIG.RECOLLCONF.STORAGE.html" title="Parameters affecting where and how we store things:"></link><link rel="next" href="RCL.INSTALL.CONFIG.RECOLLCONF.MISC.html" title="Miscellaneous parameters:"></link><meta name="Section-title" content="Parameters affecting multithread processing"></meta><script type="text/javascript">
//The id for tree cookie
var treeCookieId = "treeview-7734";
var language = "en";
var w = new Object();
//Localization
txt_filesfound = 'Results';
txt_enter_at_least_1_char = "You must enter at least one character.";
txt_browser_not_supported = "JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.";
txt_please_wait = "Please wait. Search in progress...";
txt_results_for = "Results for: ";
</script><link rel="shortcut icon" href="favicon.ico" type="image/x-icon"></link><link rel="stylesheet" type="text/css" href="common/css/positioning.css"></link><link rel="stylesheet" type="text/css" href="common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css"></link><link rel="stylesheet" type="text/css" href="common/jquery/treeview/jquery.treeview.css"></link><style type="text/css">
#noscript{
font-weight:bold;
background-color: #55AA55;
font-weight: bold;
height: 25spx;
z-index: 3000;
top:0px;
width:100%;
position: relative;
border-bottom: solid 5px black;
text-align:center;
color: white;
}
input {
margin-bottom: 5px;
margin-top: 2px;
}
.folder {
display: block;
height: 22px;
padding-left: 20px;
background: transparent url(common/jquery/treeview/images/folder.gif) 0 0px no-repeat;
}
span.contentsTab {
padding-left: 20px;
background: url(common/images/toc-icon.png) no-repeat 0 center;
}
span.searchTab {
padding-left: 20px;
background: url(common/images/search-icon.png) no-repeat 0 center;
}
/* Overide jquery treeview's defaults for ul. */
.treeview ul {
background-color: transparent;
margin-top: 4px;
}
#webhelp-currentid {
background-color: #D8D8D8 !important;
}
.treeview .hover { color: black; }
.filetree li span a { text-decoration: none; font-size: 12px; color: #517291; }
/* Override jquery-ui's default css customizations. These are supposed to take precedence over those.*/
.ui-widget-content {
border: 0px;
background: none;
color: none;
}
.ui-widget-header {
color: #e9e8e9;
border-left: 1px solid #e5e5e5;
border-right: 1px solid #e5e5e5;
border-bottom: 1px solid #bbc4c5;
border-top: 4px solid #e5e5e5;
border: medium none;
background: #F4F4F4; /* old browsers */
background: -moz-linear-gradient(top, #F4F4F4 0%, #E6E4E5 100%); /* firefox */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F4F4F4), color-stop(100%,#E6E4E5)); /* webkit */
font-weight: none;
}
.ui-widget-header a { color: none; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
border: none; background: none; font-weight: none; color: none; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: black; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: none; background: none; font-weight: none; color: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: none; background: none; font-weight: none; color: none; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
color: black; text-decoration: none;
background: #C6C6C6; /* old browsers */
background: -moz-linear-gradient(top, #C6C6C6 0%, #D8D8D8 100%); /* firefox */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C6C6C6), color-stop(100%,#D8D8D8)); /* webkit */
-webkit-border-radius:15px; -moz-border-radius:10px;
border: 1px solid #f1f1f1;
}
.ui-corner-all { border-radius: 0 0 0 0; }
.ui-tabs { padding: .2em;}
.ui-tabs .ui-tabs-nav li { top: 0px; margin: -2px 0 1px; text-transform: uppercase; font-size: 10.5px;}
.ui-tabs .ui-tabs-nav li a { padding: .25em 2em .25em 1em; margin: .5em; text-shadow: 0 1px 0 rgba(255,255,255,.5); }
/**
* Basic Layout Theme
*
* This theme uses the default layout class-names for all classes
* Add any 'custom class-names', from options: paneClass, resizerClass, togglerClass
*/
.ui-layout-pane { /* all 'panes' */
background: #FFF;
border: 1px solid #BBB;
padding: 05x;
overflow: auto;
}
.ui-layout-resizer { /* all 'resizer-bars' */
background: #DDD;
top:100px
}
.ui-layout-toggler { /* all 'toggler-buttons' */
background: #AAA;
}
</style><!--[if IE]>
<link rel="stylesheet" type="text/css" href="../common/css/ie.css"/>
<![endif]--><script type="text/javascript" src="common/browserDetect.js"></script><script type="text/javascript" src="common/jquery/jquery-1.7.2.min.js"></script><script type="text/javascript" src="common/jquery/jquery.ui.all.js"></script><script type="text/javascript" src="common/jquery/jquery.cookie.js"></script><script type="text/javascript" src="common/jquery/treeview/jquery.treeview.min.js"></script><script type="text/javascript" src="common/jquery/layout/jquery.layout.js"></script><script type="text/javascript" src="search/l10n.js"></script><script type="text/javascript" src="search/htmlFileInfoList.js"></script><script type="text/javascript" src="search/nwSearchFnt.js"></script><script type="text/javascript" src="search/stemmers/en_stemmer.js"><!--//make this scalable to other languages as well.--></script><script type="text/javascript" src="search/index-1.js"></script><script type="text/javascript" src="search/index-2.js"></script><script type="text/javascript" src="search/index-3.js"></script></head><body><noscript><div id="noscript">JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.</div></noscript><div id="header"><a href="index.html"><img style="margin-right: 2px; height: 59px; padding-right: 25px; padding-top: 8px" align="right" src="common/images/logo.png" alt=" Documentation"></img></a><h1>Recoll user manual<br></br>The main configuration file, recoll.conf</h1><div id="navheader"><table class="navLinks"><tr><td><a id="showHideButton" href="#" onclick="myLayout.toggle('west')" class="pointLeft" tabindex="5" title="Hide TOC tree">Sidebar
</a></td><td><a accesskey="p" class="navLinkPrevious" tabindex="5" href="RCL.INSTALL.CONFIG.RECOLLCONF.STORAGE.html">Prev</a>
|
<a accesskey="u" class="navLinkUp" tabindex="5" href="RCL.INSTALL.CONFIG.RECOLLCONF.html">Up</a>
|
<a accesskey="n" class="navLinkNext" tabindex="5" href="RCL.INSTALL.CONFIG.RECOLLCONF.MISC.html">Next</a></td></tr></table></div></div><div id="content"><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="RCL.INSTALL.CONFIG.RECOLLCONF.IDXTHREADS"></a>Parameters affecting multithread processing</h4></div></div></div><p>The <span class="application">Recoll</span> indexing process
<span class="command"><strong>recollindex</strong></span> can use multiple threads to
speed up indexing on multiprocessor systems. The work done
to index files is divided in several stages and some of the
stages can be executed by multiple threads. The stages are:
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">File system walking: this is always performed by
the main thread.</li><li class="listitem">File conversion and data extraction.</li><li class="listitem">Text processing (splitting, stemming,
etc.)</li><li class="listitem"><span class="application">Xapian</span> index update.</li></ol></div><p>
</p><p>You can also read a
<a class="ulink" href="http://www.recoll.org/idxthreads/threadingRecoll.html" target="_top">
longer document</a> about the transformation of
<span class="application">Recoll</span> indexing to multithreading.</p><p>The threads configuration is controlled by two
configuration file parameters.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="varname">thrQSizes</code></span></dt><dd><p>This variable defines the job input queues
configuration. There are three possible queues for
stages 2, 3 and 4, and this parameter should give the
queue depth for each stage (three integer values). If
a value of -1 is used for a given stage, no queue is
used, and the thread will go on performing the next
stage. In practise, deep queues have not been shown to
increase performance. A value of 0 for the first queue
tells <span class="application">Recoll</span> to perform autoconfiguration (no need for
the two other values in this case) - this is the
default configuration.</p></dd><dt><span class="term"><code class="varname">thrTCounts</code></span></dt><dd><p>This defines the number of threads used
for each stage. If a value of -1 is used for one of
the queue depths, the corresponding thread count is
ignored. It makes no sense to use a value other than 1
for the last stage because updating the <span class="application">Xapian</span> index is
necessarily single-threaded (and protected by a
mutex).</p></dd></dl></div><p>The following example would use three queues (of depth 2),
and 4 threads for converting source documents, 2 for
processing their text, and one to update the index. This was
tested to be the best configuration on the test system
(quadri-processor with multiple disks).
</p><pre class="programlisting">
thrQSizes = 2 2 2
thrTCounts = 4 2 1
</pre><p>
</p><p>The following example would use a single queue, and the
complete processing for each document would be performed by
a single thread (several documents will still be processed
in parallel in most cases). The threads will use mutual
exclusion when entering the index update stage. In practise
the performance would be close to the precedent case in
general, but worse in certain cases (e.g. a Zip archive
would be performed purely sequentially), so the previous
approach is preferred. YMMV... The 2 last values for
thrTCounts are ignored.
</p><pre class="programlisting">
thrQSizes = 2 -1 -1
thrTCounts = 6 1 1
</pre><p>
</p><p>The following example would disable
multithreading. Indexing will be performed by a single
thread.
</p><pre class="programlisting">
thrQSizes = -1 -1 -1
</pre><p>
</p></div><script type="text/javascript" src="common/main.js"></script><script type="text/javascript" src="common/splitterInit.js"></script><div class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="RCL.INSTALL.CONFIG.RECOLLCONF.STORAGE.html">Prev</a>��</td><td width="20%" align="center"><a accesskey="u" href="RCL.INSTALL.CONFIG.RECOLLCONF.html">Up</a></td><td width="40%" align="right">��<a accesskey="n" href="RCL.INSTALL.CONFIG.RECOLLCONF.MISC.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">��</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">��</td></tr></table></div></div><div id="sidebar"><div id="leftnavigation" style="padding-top:3px;"><div id="tabs"><ul><li><a href="#treeDiv" style="outline:0;" tabindex="1"><span class="contentsTab">Contents</span></a></li><li><a href="#searchDiv" style="outline:0;" tabindex="1" onclick="doSearch()"><span class="searchTab">Search</span></a></li></ul><div id="treeDiv"><img src="common/images/loading.gif" alt="loading table of contents..." id="tocLoading" style="display:block;"></img><div id="ulTreeDiv" style="display:none"><ul id="tree" class="filetree"><li><span class="file"><a href="RCL.INTRODUCTION.html" tabindex="1">Introduction</a></span><ul><li><span class="file"><a href="RCL.INTRODUCTION.TRYIT.html" tabindex="1">Giving it a try</a></span></li><li><span class="file"><a href="RCL.INTRODUCTION.SEARCH.html" tabindex="1">Full text search</a></span></li><li><span class="file"><a href="RCL.INTRODUCTION.RECOLL.html" tabindex="1">Recoll overview</a></span></li></ul></li><li><span class="file"><a href="RCL.INDEXING.html" tabindex="1">Indexing</a></span><ul><li><span class="file"><a href="RCL.INDEXING.INTRODUCTION.html" tabindex="1">Introduction</a></span><ul><li><span class="file"><a href="RCL.INDEXING.INTRODUCTION.MODES.html" tabindex="1">Indexing modes</a></span></li><li><span class="file"><a href="RCL.INDEXING.INTRODUCTION.CONFIG.html" tabindex="1">Configurations, multiple indexes</a></span></li><li><span class="file"><a href="ch02s01s03.html" tabindex="1">Document types</a></span></li><li><span class="file"><a href="ch02s01s04.html" tabindex="1">Indexing failures</a></span></li><li><span class="file"><a href="ch02s01s05.html" tabindex="1">Recovery</a></span></li></ul></li><li><span class="file"><a href="RCL.INDEXING.STORAGE.html" tabindex="1">Index storage</a></span><ul><li><span class="file"><a href="RCL.INDEXING.STORAGE.FORMAT.html" tabindex="1">Xapian index formats</a></span></li><li><span class="file"><a href="RCL.INDEXING.STORAGE.SECURITY.html" tabindex="1">Security aspects</a></span></li></ul></li><li><span class="file"><a href="RCL.INDEXING.CONFIG.html" tabindex="1">Index configuration</a></span><ul><li><span class="file"><a href="RCL.INDEXING.CONFIG.MULTIPLE.html" tabindex="1">Multiple indexes</a></span></li><li><span class="file"><a href="RCL.INDEXING.CONFIG.SENS.html" tabindex="1">Index case and diacritics sensitivity</a></span></li><li><span class="file"><a href="RCL.INDEXING.CONFIG.GUI.html" tabindex="1">The index configuration GUI</a></span></li></ul></li><li><span class="file"><a href="RCL.INDEXING.WEBQUEUE.html" tabindex="1">Indexing WEB pages you wisit</a></span></li><li><span class="file"><a href="RCL.INDEXING.EXTATTR.html" tabindex="1">Extended attributes data</a></span></li><li><span class="file"><a href="RCL.INDEXING.EXTTAGS.html" tabindex="1">Importing external tags</a></span></li><li><span class="file"><a href="RCL.INDEXING.PERIODIC.html" tabindex="1">Periodic indexing</a></span><ul><li><span class="file"><a href="RCL.INDEXING.PERIODIC.EXEC.html" tabindex="1">Running indexing</a></span></li><li><span class="file"><a href="RCL.INDEXING.PERIODIC.AUTOMAT.html" tabindex="1">Using cron to automate
indexing</a></span></li></ul></li><li><span class="file"><a href="RCL.INDEXING.MONITOR.html" tabindex="1">Real time indexing</a></span><ul><li><span class="file"><a href="RCL.INDEXING.MONITOR.FASTFILES.html" tabindex="1">Slowing down the reindexing rate for fast changing
files</a></span></li></ul></li></ul></li><li><span class="file"><a href="RCL.SEARCH.html" tabindex="1">Searching</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.html" tabindex="1">Searching with the Qt graphical user interface</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.SIMPLE.html" tabindex="1">Simple search</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.RESLIST.html" tabindex="1">The default result list</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.RESLIST.SUGGS.html" tabindex="1">No results: the spelling suggestions</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.RESULTLIST.MENU.html" tabindex="1">The result list right-click menu</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.GUI.RESTABLE.html" tabindex="1">The result table</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.RUNSCRIPT.html" tabindex="1">Running arbitrary commands on result files (1.20 and later)</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.THUMBNAILS.html" tabindex="1">Displaying thumbnails</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.PREVIEW.html" tabindex="1">The preview window</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.PREVIEW.SEARCH.html" tabindex="1">Searching inside the preview</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.GUI.FRAGBUTS.html" tabindex="1">The Query Fragments window</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.COMPLEX.html" tabindex="1">Complex/advanced search</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.COMPLEX.TERMS.html" tabindex="1">Avanced search: the "find" tab</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.COMPLEX.FILTER.html" tabindex="1">Avanced search: the "filter" tab</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.COMPLEX.HISTORY.html" tabindex="1">Avanced search history</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.GUI.TERMEXPLORER.html" tabindex="1">The term explorer tool</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.MULTIDB.html" tabindex="1">Multiple indexes</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.HISTORY.html" tabindex="1">Document history</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.SORT.html" tabindex="1">Sorting search results and collapsing duplicates</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.TIPS.html" tabindex="1">Search tips, shortcuts</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.TIPS.TERMS.html" tabindex="1">Terms and search expansion</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.TIPS.PHRASES.html" tabindex="1">Working with phrases and proximity</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.TIPS.MISC.html" tabindex="1">Others</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.SAVING.html" tabindex="1">Saving and restoring queries (1.21 and later)</a></span></li><li><span class="file"><a href="RCL.SEARCH.GUI.CUSTOM.html" tabindex="1">Customizing the search interface</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.CUSTOM.RESLIST.html" tabindex="1">The result list format</a></span><ul><li><span class="file"><a href="RCL.SEARCH.GUI.CUSTOM.RESLIST.html#RCL.SEARCH.GUI.CUSTOM.RESLIST.PARA" tabindex="1">The paragraph format</a></span></li></ul></li></ul></li></ul></li><li><span class="file"><a href="RCL.SEARCH.KIO.html" tabindex="1">Searching with the KDE KIO slave</a></span><ul><li><span class="file"><a href="RCL.SEARCH.KIO.INTRO.html" tabindex="1">What's this</a></span></li><li><span class="file"><a href="RCL.SEARCH.KIO.SEARCHABLEDOCS.html" tabindex="1">Searchable documents</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.COMMANDLINE.html" tabindex="1">Searching on the command line</a></span></li><li><span class="file"><a href="RCL.SEARCH.SYNONYMS.html" tabindex="1">Using Synonyms (Recoll 1.22 and later)</a></span></li><li><span class="file"><a href="RCL.SEARCH.PTRANS.html" tabindex="1">Path translations</a></span></li><li><span class="file"><a href="RCL.SEARCH.LANG.html" tabindex="1">The query language</a></span><ul><li><span class="file"><a href="RCL.SEARCH.LANG.MODIFIERS.html" tabindex="1">Modifiers</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.CASEDIAC.html" tabindex="1">Search case and diacritics sensitivity</a></span></li><li><span class="file"><a href="RCL.SEARCH.ANCHORWILD.html" tabindex="1">Anchored searches and wildcards</a></span><ul><li><span class="file"><a href="RCL.SEARCH.WILDCARDS.html" tabindex="1">More about wildcards</a></span><ul><li><span class="file"><a href="RCL.SEARCH.WILDCARDS.PATH.html" tabindex="1">Wildcards and path filtering</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.ANCHOR.html" tabindex="1">Anchored searches</a></span></li></ul></li><li><span class="file"><a href="RCL.SEARCH.DESKTOP.html" tabindex="1">Desktop integration</a></span><ul><li><span class="file"><a href="RCL.SEARCH.SHORTCUT.html" tabindex="1">Hotkeying recoll</a></span></li><li><span class="file"><a href="RCL.KICKER-APPLET.html" tabindex="1">The KDE Kicker Recoll applet</a></span></li></ul></li></ul></li><li><span class="file"><a href="RCL.PROGRAM.html" tabindex="1">Programming interface</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.FILTERS.html" tabindex="1">Writing a document input handler</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.FILTERS.SIMPLE.html" tabindex="1">Simple input handlers</a></span></li><li><span class="file"><a href="RCL.PROGRAM.FILTERS.MULTIPLE.html" tabindex="1">"Multiple" handlers</a></span></li><li><span class="file"><a href="RCL.PROGRAM.FILTERS.ASSOCIATION.html" tabindex="1">Telling Recoll about the handler</a></span></li><li><span class="file"><a href="RCL.PROGRAM.FILTERS.HTML.html" tabindex="1">Input handler HTML output</a></span></li><li><span class="file"><a href="RCL.PROGRAM.FILTERS.PAGES.html" tabindex="1">Page numbers</a></span></li></ul></li><li><span class="file"><a href="RCL.PROGRAM.FIELDS.html" tabindex="1">Field data processing</a></span></li><li><span class="file"><a href="RCL.PROGRAM.API.html" tabindex="1">API</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.API.ELEMENTS.html" tabindex="1">Interface elements</a></span></li><li><span class="file"><a href="RCL.PROGRAM.API.PYTHON.html" tabindex="1">Python interface</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.PYTHON.INTRO.html" tabindex="1">Introduction</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.PACKAGE.html" tabindex="1">Recoll package</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html" tabindex="1">The recoll module</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.FUNCTIONS" tabindex="1">Functions</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES" tabindex="1">Classes</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.DB" tabindex="1">The Db class</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.QUERY" tabindex="1">The Query class</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.DOC" tabindex="1">The Doc class</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.SEARCHDATA" tabindex="1">The SearchData class</a></span></li></ul></li></ul></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RCLEXTRACT.html" tabindex="1">The rclextract module</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RCLEXTRACT.html#RCL.PROGRAM.PYTHON.RCLEXTRACT.CLASSES" tabindex="1">Classes</a></span><ul><li><span class="file"><a href="RCL.PROGRAM.PYTHON.RCLEXTRACT.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.EXTRACTOR" tabindex="1">The Extractor class</a></span></li></ul></li></ul></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.EXAMPLES.html" tabindex="1">Example code</a></span></li><li><span class="file"><a href="RCL.PROGRAM.PYTHON.COMPAT.html" tabindex="1">Compatibility with the previous version</a></span></li></ul></li></ul></li></ul></li><li><span class="file"><a href="RCL.INSTALL.html" tabindex="1">Installation and configuration</a></span><ul><li><span class="file"><a href="RCL.INSTALL.BINARY.html" tabindex="1">Installing a binary copy</a></span></li><li><span class="file"><a href="RCL.INSTALL.EXTERNAL.html" tabindex="1">Supporting packages</a></span></li><li><span class="file"><a href="RCL.INSTALL.BUILDING.html" tabindex="1">Building from source</a></span><ul><li><span class="file"><a href="RCL.INSTALL.BUILDING.PREREQS.html" tabindex="1">Prerequisites</a></span></li><li><span class="file"><a href="RCL.INSTALL.BUILDING.BUILD.html" tabindex="1">Building</a></span><ul><li><span class="file"><a href="RCL.INSTALL.BUILDING.BUILD.SOLARIS.html" tabindex="1">Building on Solaris</a></span></li></ul></li><li><span class="file"><a href="RCL.INSTALL.BUILDING.INSTALL.html" tabindex="1">Installation</a></span></li></ul></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.html" tabindex="1">Configuration overview</a></span><ul><li><span class="file"><a href="RCL.INSTALL.CONFIG.ENVIR.html" tabindex="1">Environment variables</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.RECOLLCONF.html" tabindex="1">The main configuration file, recoll.conf</a></span><ul><li><span class="file"><a href="RCL.INSTALL.CONFIG.RECOLLCONF.FILES.html" tabindex="1">Parameters affecting what documents we index:</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.RECOLLCONF.TERMS.html" tabindex="1">Parameters affecting how we generate terms:</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.RECOLLCONF.STORAGE.html" tabindex="1">Parameters affecting where and how we store things:</a></span></li><li id="webhelp-currentid"><span class="file"><a href="RCL.INSTALL.CONFIG.RECOLLCONF.IDXTHREADS.html" tabindex="1">Parameters affecting multithread processing</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.RECOLLCONF.MISC.html" tabindex="1">Miscellaneous parameters:</a></span></li></ul></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.FIELDS.html" tabindex="1">The fields file</a></span><ul><li><span class="file"><a href="RCL.INSTALL.CONFIG.FIELDS.XATTR.html" tabindex="1">Extended attributes in the fields file</a></span></li></ul></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.MIMEMAP.html" tabindex="1">The mimemap file</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.MIMECONF.html" tabindex="1">The mimeconf file</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.MIMEVIEW.html" tabindex="1">The mimeview file</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.PTRANS.html" tabindex="1">The ptrans file</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.EXAMPLES.html" tabindex="1">Examples of configuration adjustments</a></span><ul><li><span class="file"><a href="RCL.INSTALL.CONFIG.EXAMPLES.ADDVIEW.html" tabindex="1">Adding an external viewer for an non-indexed type</a></span></li><li><span class="file"><a href="RCL.INSTALL.CONFIG.EXAMPLES.ADDINDEX.html" tabindex="1">Adding indexing support for a new file type</a></span></li></ul></li></ul></li></ul></li></ul></div></div><div id="searchDiv"><div id="search"><form onsubmit="Verifie(searchForm);return false" name="searchForm" class="searchForm"><div><input id="textToSearch" name="textToSearch" type="search" placeholder="Search" class="searchText" tabindex="1"></input> <input onclick="Verifie(searchForm)" type="button" class="searchButton" value="Go" id="doSearch" tabindex="1"></input></div></form></div><div id="searchResults"><center></center></div><p class="searchHighlight"><a href="#" onclick="toggleHighlight()">Search Highlighter (On/Off)</a></p></div></div></div></div></body></html>