<!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>The recoll module - - 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.PROGRAM.API.PYTHON.html" title="Python interface"></link><link rel="prev" href="RCL.PROGRAM.PYTHON.PACKAGE.html" title="Recoll package"></link><link rel="next" href="RCL.PROGRAM.PYTHON.RCLEXTRACT.html" title="The rclextract module"></link><meta name="Section-title" content="The recoll module"></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>Python interface</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.PROGRAM.PYTHON.PACKAGE.html">Prev</a>
|
<a accesskey="u" class="navLinkUp" tabindex="5" href="RCL.PROGRAM.API.PYTHON.html">Up</a>
|
<a accesskey="n" class="navLinkNext" tabindex="5" href="RCL.PROGRAM.PYTHON.RCLEXTRACT.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.PROGRAM.PYTHON.RECOLL"></a>The recoll module</h4></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect4"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.FUNCTIONS">Functions</a></span></dt><dt><span class="sect4"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES">Classes</a></span></dt></dl></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="RCL.PROGRAM.PYTHON.RECOLL.FUNCTIONS"></a>Functions</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">connect(confdir=None, extra_dbs=None,
writable = False)</span></dt><dd>
The <code class="literal">connect()</code> function connects to
one or several <span class="application">Recoll</span> index(es) and returns
a <code class="literal">Db</code> object.
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><code class="literal">confdir</code> may specify
a configuration directory. The usual defaults
apply.</li><li class="listitem"><code class="literal">extra_dbs</code> is a list of
additional indexes (Xapian directories). </li><li class="listitem"><code class="literal">writable</code> decides if
we can index new data through this
connection.</li></ul></div>
This call initializes the recoll module, and it should
always be performed before any other call or object creation.
</dd></dl></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="RCL.PROGRAM.PYTHON.RECOLL.CLASSES"></a>Classes</h5></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect5"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.DB">The Db class</a></span></dt><dt><span class="sect5"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.QUERY">The Query class</a></span></dt><dt><span class="sect5"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.DOC">The Doc class</a></span></dt><dt><span class="sect5"><a href="RCL.PROGRAM.PYTHON.RECOLL.html#RCL.PROGRAM.PYTHON.RECOLL.CLASSES.SEARCHDATA">The SearchData class</a></span></dt></dl></div><div class="sect5"><div class="titlepage"><div><div><h6 class="title"><a id="RCL.PROGRAM.PYTHON.RECOLL.CLASSES.DB"></a>The Db class</h6></div></div></div><p>A Db object is created by
a <code class="literal">connect()</code> call and holds a
connection to a Recoll index.</p><div class="variablelist"><p class="title"><strong>Methods</strong></p><dl class="variablelist"><dt><span class="term">Db.close()</span></dt><dd>Closes the connection. You can't do anything
with the <code class="literal">Db</code> object after
this.</dd><dt><span class="term">Db.query(), Db.cursor()</span></dt><dd>These
aliases return a blank <code class="literal">Query</code> object
for this index.</dd><dt><span class="term">Db.setAbstractParams(maxchars,
contextwords)</span></dt><dd>Set the parameters used
to build snippets (sets of keywords in context text
fragments). <code class="literal">maxchars</code> defines the
maximum total size of the abstract.
<code class="literal">contextwords</code> defines how many
terms are shown around the keyword.</dd><dt><span class="term">Db.termMatch(match_type, expr, field='',
maxlen=-1, casesens=False, diacsens=False, lang='english')
</span></dt><dd>Expand an expression against the
index term list. Performs the basic function from the
GUI term explorer tool. <code class="literal">match_type</code>
can be either
of <code class="literal">wildcard</code>, <code class="literal">regexp</code>
or <code class="literal">stem</code>. Returns a list of terms
expanded from the input expression.
</dd></dl></div></div><div class="sect5"><div class="titlepage"><div><div><h6 class="title"><a id="RCL.PROGRAM.PYTHON.RECOLL.CLASSES.QUERY"></a>The Query class</h6></div></div></div><p>A <code class="literal">Query</code> object (equivalent to a
cursor in the Python DB API) is created by
a <code class="literal">Db.query()</code> call. It is used to
execute index searches.</p><div class="variablelist"><p class="title"><strong>Methods</strong></p><dl class="variablelist"><dt><span class="term">Query.sortby(fieldname, ascending=True)</span></dt><dd>Sort results
by <em class="replaceable"><code>fieldname</code></em>, in ascending
or descending order. Must be called before executing
the search.</dd><dt><span class="term">Query.execute(query_string, stemming=1,
stemlang="english")</span></dt><dd>Starts a search
for <em class="replaceable"><code>query_string</code></em>, a <span class="application">Recoll</span>
search language string.</dd><dt><span class="term">Query.executesd(SearchData)</span></dt><dd>Starts a search for the query defined by the
SearchData object.</dd><dt><span class="term">Query.fetchmany(size=query.arraysize)</span></dt><dd>Fetches
the next <code class="literal">Doc</code> objects in the current
search results, and returns them as an array of the
required size, which is by default the value of
the <code class="literal">arraysize</code> data member.</dd><dt><span class="term">Query.fetchone()</span></dt><dd>Fetches the next <code class="literal">Doc</code> object
from the current search results.</dd><dt><span class="term">Query.close()</span></dt><dd>Closes the query. The object is unusable
after the call.</dd><dt><span class="term">Query.scroll(value, mode='relative')</span></dt><dd>Adjusts the position in the current result
set. <code class="literal">mode</code> can
be <code class="literal">relative</code>
or <code class="literal">absolute</code>. </dd><dt><span class="term">Query.getgroups()</span></dt><dd>Retrieves the expanded query terms as a list
of pairs. Meaningful only after executexx In each
pair, the first entry is a list of user terms (of size
one for simple terms, or more for group and phrase
clauses), the second a list of query terms as derived
from the user terms and used in the Xapian
Query.</dd><dt><span class="term">Query.getxquery()</span></dt><dd>Return the Xapian query description as a Unicode string.
Meaningful only after executexx.</dd><dt><span class="term">Query.highlight(text, ishtml = 0, methods = object)</span></dt><dd>Will insert <span "class=rclmatch">,
</span> tags around the match areas in the input text
and return the modified text. <code class="literal">ishtml</code>
can be set to indicate that the input text is HTML and
that HTML special characters should not be escaped.
<code class="literal">methods</code> if set should be an object
with methods startMatch(i) and endMatch() which will be
called for each match and should return a begin and end
tag</dd><dt><span class="term">Query.makedocabstract(doc, methods = object))</span></dt><dd>Create a snippets abstract
for <code class="literal">doc</code> (a <code class="literal">Doc</code>
object) by selecting text around the match terms.
If methods is set, will also perform highlighting. See
the highlight method.
</dd><dt><span class="term">Query.__iter__() and Query.next()</span></dt><dd>So that things like <code class="literal">for doc in
query:</code> will work.</dd></dl></div><div class="variablelist"><p class="title"><strong>Data descriptors</strong></p><dl class="variablelist"><dt><span class="term">Query.arraysize</span></dt><dd>Default
number of records processed by fetchmany (r/w).</dd><dt><span class="term">Query.rowcount</span></dt><dd>Number of
records returned by the last execute.</dd><dt><span class="term">Query.rownumber</span></dt><dd>Next index
to be fetched from results. Normally increments after
each fetchone() call, but can be set/reset before the
call to effect seeking (equivalent to
using <code class="literal">scroll()</code>). Starts at
0.</dd></dl></div></div><div class="sect5"><div class="titlepage"><div><div><h6 class="title"><a id="RCL.PROGRAM.PYTHON.RECOLL.CLASSES.DOC"></a>The Doc class</h6></div></div></div><p>A <code class="literal">Doc</code> object contains index data
for a given document. The data is extracted from the
index when searching, or set by the indexer program when
updating. The Doc object has many attributes to be read or
set by its user. It matches exactly the Rcl::Doc C++
object. Some of the attributes are predefined, but,
especially when indexing, others can be set, the name of
which will be processed as field names by the indexing
configuration. Inputs can be specified as Unicode or
strings. Outputs are Unicode objects. All dates are
specified as Unix timestamps, printed as strings. Please
refer to the <code class="filename">rcldb/rcldoc.h</code> C++ file
for a description of the predefined attributes.</p><p>At query time, only the fields that are defined
as <code class="literal">stored</code> either by default or in
the <code class="filename">fields</code> configuration file will be
meaningful in the <code class="literal">Doc</code>
object. Especially this will not be the case for the
document text. See the <code class="literal">rclextract</code>
module for accessing document contents.</p><div class="variablelist"><p class="title"><strong>Methods</strong></p><dl class="variablelist"><dt><span class="term">get(key), [] operator</span></dt><dd>Retrieve the named doc attribute</dd><dt><span class="term">getbinurl()</span></dt><dd>Retrieve
the URL in byte array format (no transcoding), for use as
parameter to a system call.</dd><dt><span class="term">items()</span></dt><dd>Return a dictionary of doc object
keys/values</dd><dt><span class="term">keys()</span></dt><dd>list of doc object keys (attribute
names).</dd></dl></div></div><div class="sect5"><div class="titlepage"><div><div><h6 class="title"><a id="RCL.PROGRAM.PYTHON.RECOLL.CLASSES.SEARCHDATA"></a>The SearchData class</h6></div></div></div><p>A <code class="literal">SearchData</code> object allows building
a query by combining clauses, for execution
by <code class="literal">Query.executesd()</code>. It can be used
in replacement of the query language approach. The
interface is going to change a little, so no detailed doc
for now...</p><div class="variablelist"><p class="title"><strong>Methods</strong></p><dl class="variablelist"><dt><span class="term">addclause(type='and'|'or'|'excl'|'phrase'|'near'|'sub',
qstring=string, slack=0, field='', stemming=1,
subSearch=SearchData)</span></dt><dd></dd></dl></div></div></div></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.PROGRAM.PYTHON.PACKAGE.html">Prev</a>��</td><td width="20%" align="center"><a accesskey="u" href="RCL.PROGRAM.API.PYTHON.html">Up</a></td><td width="40%" align="right">��<a accesskey="n" href="RCL.PROGRAM.PYTHON.RCLEXTRACT.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 id="webhelp-currentid"><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><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>