--- a/src/doc/user/usermanual.html
+++ b/src/doc/user/usermanual.html
@@ -299,52 +299,54 @@
</dd>
</dl>
</dd>
- <dt><span class="chapter">4. <a href=
+ <dt><span class="chapter">4. <a href="#RCL.MOVABLE">Movable
+ datasets</a></span></dt>
+ <dt><span class="chapter">5. <a href=
"#RCL.PROGRAM">Programming interface</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1">4.1. <a href=
+ <dt><span class="sect1">5.1. <a href=
"#RCL.PROGRAM.FILTERS">Writing a document input
handler</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2">4.1.1. <a href=
+ <dt><span class="sect2">5.1.1. <a href=
"#RCL.PROGRAM.FILTERS.SIMPLE">Simple input
handlers</a></span></dt>
- <dt><span class="sect2">4.1.2. <a href=
+ <dt><span class="sect2">5.1.2. <a href=
"#RCL.PROGRAM.FILTERS.MULTIPLE">"Multiple"
handlers</a></span></dt>
- <dt><span class="sect2">4.1.3. <a href=
+ <dt><span class="sect2">5.1.3. <a href=
"#RCL.PROGRAM.FILTERS.ASSOCIATION">Telling
<span class="application">Recoll</span> about the
handler</a></span></dt>
- <dt><span class="sect2">4.1.4. <a href=
+ <dt><span class="sect2">5.1.4. <a href=
"#RCL.PROGRAM.FILTERS.HTML">Input handler
output</a></span></dt>
- <dt><span class="sect2">4.1.5. <a href=
+ <dt><span class="sect2">5.1.5. <a href=
"#RCL.PROGRAM.FILTERS.PAGES">Page
numbers</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1">4.2. <a href=
+ <dt><span class="sect1">5.2. <a href=
"#RCL.PROGRAM.FIELDS">Field data
processing</a></span></dt>
- <dt><span class="sect1">4.3. <a href=
+ <dt><span class="sect1">5.3. <a href=
"#RCL.PROGRAM.PYTHONAPI">Python API</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2">4.3.1. <a href=
+ <dt><span class="sect2">5.3.1. <a href=
"#RCL.PROGRAM.PYTHONAPI.INTRO">Introduction</a></span></dt>
- <dt><span class="sect2">4.3.2. <a href=
+ <dt><span class="sect2">5.3.2. <a href=
"#RCL.PROGRAM.PYTHONAPI.ELEMENTS">Interface
elements</a></span></dt>
- <dt><span class="sect2">4.3.3. <a href=
+ <dt><span class="sect2">5.3.3. <a href=
"#RCL.PROGRAM.PYTHONAPI.SEARCH">Python search
interface</a></span></dt>
- <dt><span class="sect2">4.3.4. <a href=
+ <dt><span class="sect2">5.3.4. <a href=
"#RCL.PROGRAM.PYTHONAPI.UPDATE">Creating Python
external indexers</a></span></dt>
- <dt><span class="sect2">4.3.5. <a href=
+ <dt><span class="sect2">5.3.5. <a href=
"#RCL.PROGRAM.PYTHONAPI.COMPAT">Package
compatibility with the previous
version</a></span></dt>
@@ -352,57 +354,57 @@
</dd>
</dl>
</dd>
- <dt><span class="chapter">5. <a href=
+ <dt><span class="chapter">6. <a href=
"#RCL.INSTALL">Installation and
configuration</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1">5.1. <a href=
+ <dt><span class="sect1">6.1. <a href=
"#RCL.INSTALL.BINARY">Installing a binary
copy</a></span></dt>
- <dt><span class="sect1">5.2. <a href=
+ <dt><span class="sect1">6.2. <a href=
"#RCL.INSTALL.EXTERNAL">Supporting
packages</a></span></dt>
- <dt><span class="sect1">5.3. <a href=
+ <dt><span class="sect1">6.3. <a href=
"#RCL.INSTALL.BUILDING">Building from
source</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2">5.3.1. <a href=
+ <dt><span class="sect2">6.3.1. <a href=
"#RCL.INSTALL.BUILDING.PREREQS">Prerequisites</a></span></dt>
- <dt><span class="sect2">5.3.2. <a href=
+ <dt><span class="sect2">6.3.2. <a href=
"#RCL.INSTALL.BUILDING.BUILD">Building</a></span></dt>
- <dt><span class="sect2">5.3.3. <a href=
+ <dt><span class="sect2">6.3.3. <a href=
"#RCL.INSTALL.BUILDING.INSTALL">Installation</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1">5.4. <a href=
+ <dt><span class="sect1">6.4. <a href=
"#RCL.INSTALL.CONFIG">Configuration
overview</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2">5.4.1. <a href=
+ <dt><span class="sect2">6.4.1. <a href=
"#RCL.INSTALL.CONFIG.ENVIR">Environment
variables</a></span></dt>
- <dt><span class="sect2">5.4.2. <a href=
+ <dt><span class="sect2">6.4.2. <a href=
"#RCL.INSTALL.CONFIG.RECOLLCONF">Recoll main
configuration file, recoll.conf</a></span></dt>
- <dt><span class="sect2">5.4.3. <a href=
+ <dt><span class="sect2">6.4.3. <a href=
"#RCL.INSTALL.CONFIG.FIELDS">The fields
file</a></span></dt>
- <dt><span class="sect2">5.4.4. <a href=
+ <dt><span class="sect2">6.4.4. <a href=
"#RCL.INSTALL.CONFIG.MIMEMAP">The mimemap
file</a></span></dt>
- <dt><span class="sect2">5.4.5. <a href=
+ <dt><span class="sect2">6.4.5. <a href=
"#RCL.INSTALL.CONFIG.MIMECONF">The mimeconf
file</a></span></dt>
- <dt><span class="sect2">5.4.6. <a href=
+ <dt><span class="sect2">6.4.6. <a href=
"#RCL.INSTALL.CONFIG.MIMEVIEW">The mimeview
file</a></span></dt>
- <dt><span class="sect2">5.4.7. <a href=
+ <dt><span class="sect2">6.4.7. <a href=
"#RCL.INSTALL.CONFIG.PTRANS">The <code class=
"filename">ptrans</code> file</a></span></dt>
- <dt><span class="sect2">5.4.8. <a href=
+ <dt><span class="sect2">6.4.8. <a href=
"#RCL.INSTALL.CONFIG.EXAMPLES">Examples of
configuration adjustments</a></span></dt>
</dl>
@@ -452,7 +454,7 @@
<p>If you do not like reading manuals (who does?) but wish
to give <span class="application">Recoll</span> a try, just
<a class="link" href="#RCL.INSTALL.BINARY" title=
- "5.1. Installing a binary copy">install</a> the
+ "6.1. Installing a binary copy">install</a> the
application and start the <span class=
"command"><strong>recoll</strong></span> graphical user
interface (GUI), which will ask permission to index your
@@ -473,7 +475,7 @@
<p>Also be aware that, on Unix/Linux, you may need to
install the appropriate <a class="link" href=
"#RCL.INSTALL.EXTERNAL" title=
- "5.2. Supporting packages">supporting applications</a>
+ "6.2. Supporting packages">supporting applications</a>
for document types that need them (for example <span class=
"application">antiword</span> for <span class=
"application">Microsoft Word</span> files).</p>
@@ -693,7 +695,7 @@
</li>
<li class="listitem">
<p>A <a class="link" href="#RCL.PROGRAM.PYTHONAPI"
- title="4.3. Python API"><span class=
+ title="5.3. Python API"><span class=
"application">Python</span> programming
interface</a></p>
</li>
@@ -933,7 +935,7 @@
...) need external applications for preprocessing. The
list is in the <a class="link" href=
"#RCL.INSTALL.EXTERNAL" title=
- "5.2. Supporting packages">installation</a> section.
+ "6.2. Supporting packages">installation</a> section.
After every indexing operation, <span class=
"application">Recoll</span> updates a list of commands
that would be needed for indexing existing files types.
@@ -964,14 +966,14 @@
"#RCL.INSTALL.CONFIG.RECOLLCONF.INDEXEDMIMETYPES">indexedmimetypes</a>
configuration variable. Example:</p>
<pre class="programlisting">
-indexedmimetypes = text/html application/pdf
- </pre>
+ indexedmimetypes = text/html application/pdf
+ </pre>
<p>It is possible to redefine this parameter for
subdirectories. Example:</p>
<pre class="programlisting">
-[/path/to/my/dir]
-indexedmimetypes = application/pdf
- </pre>
+ [/path/to/my/dir]
+ indexedmimetypes = application/pdf
+ </pre>
<p>(When using sections like this, don't forget that they
remain in effect until the end of the file or another
section indicator).</p>
@@ -979,7 +981,7 @@
<code class="literal">indexedmimetypes</code>, can be set
either by editing the <a class="link" href=
"#RCL.INSTALL.CONFIG.RECOLLCONF" title=
- "5.4.2. Recoll main configuration file, recoll.conf">
+ "6.4.2. Recoll main configuration file, recoll.conf">
configuration file (<code class=
"filename">recoll.conf</code>)</a> for the index, or by
using the GUI index configuration tool.</p>
@@ -1103,7 +1105,7 @@
<p>Using multiple configuration directories and
<a class="link" href="#RCL.INSTALL.CONFIG.RECOLLCONF"
title=
- "5.4.2. Recoll main configuration file, recoll.conf">
+ "6.4.2. Recoll main configuration file, recoll.conf">
configuration options</a> allows you to tailor
multiple configurations and indexes to handle
whatever subset of the available data you wish to
@@ -1116,7 +1118,7 @@
parameter in the configuration file (see the
<a class="link" href="#RCL.INSTALL.CONFIG.RECOLLCONF"
title=
- "5.4.2. Recoll main configuration file, recoll.conf">
+ "6.4.2. Recoll main configuration file, recoll.conf">
configuration section</a>). This method would mainly
be of use if you wanted to keep the configuration
directory in its default location, but desired
@@ -1211,7 +1213,7 @@
</div>
<p>Variables set inside the <a class="link" href=
"#RCL.INSTALL.CONFIG" title=
- "5.4. Configuration overview"><span class=
+ "6.4. Configuration overview"><span class=
"application">Recoll</span> configuration files</a> control
which areas of the file system are indexed, and how files
are processed. These variables can be set either by editing
@@ -1232,7 +1234,7 @@
can edit by hand.</p>
<p>The configuration is documented inside the <a class=
"link" href="#RCL.INSTALL.CONFIG" title=
- "5.4. Configuration overview">installation chapter</a>
+ "6.4. Configuration overview">installation chapter</a>
of this document, or in the <span class=
"citerefentry"><span class=
"refentrytitle">recoll.conf</span>(5)</span> man page, but
@@ -1247,7 +1249,7 @@
text, HTML or email (ie: pdf, postscript, ms-word...) are
described in the <a class="link" href=
"#RCL.INSTALL.EXTERNAL" title=
- "5.2. Supporting packages">external packages
+ "6.2. Supporting packages">external packages
section.</a></p>
<p>As of Recoll 1.18 there are two incompatible types of
Recoll indexes, depending on the treatment of character
@@ -1332,7 +1334,7 @@
other constraints. Most of the relevant parameters are
described in the <a class="link" href=
"#RCL.INSTALL.CONFIG.RECOLLCONF.TERMS" title=
- "5.4.2.2. Parameters affecting how we generate terms">
+ "6.4.2.2. Parameters affecting how we generate terms">
linked section</a>.</p>
<p>The different search interfaces (GUI, command line,
...) have different methods to define the set of indexes
@@ -1485,9 +1487,9 @@
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>
+ thrQSizes = 2 2 2
+ thrTCounts = 4 2 1
+ </pre>
<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
@@ -1499,14 +1501,14 @@
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>
+ thrQSizes = 2 -1 -1
+ thrTCounts = 6 1 1
+ </pre>
<p>The following example would disable multithreading.
Indexing will be performed by a single thread.</p>
<pre class="programlisting">
-thrQSizes = -1 -1 -1
-</pre>
+ thrQSizes = -1 -1 -1
+ </pre>
</div>
<div class="sect2">
<div class="titlepage">
@@ -1552,7 +1554,7 @@
"literal">ToolTip</code> popup on the text label. For
more detail, you will need to refer to the <a class=
"link" href="#RCL.INSTALL.CONFIG" title=
- "5.4. Configuration overview">configuration
+ "6.4. Configuration overview">configuration
section</a> of this guide.</p>
<p>The configuration tool normally respects the comments
and most of the formatting inside the configuration file,
@@ -1673,7 +1675,7 @@
<code class="literal">user</code> prefix is removed from
the name. This can be configured more precisely inside the
<a class="link" href="#RCL.INSTALL.CONFIG.FIELDS" title=
- "5.4.3. The fields file"><code class=
+ "6.4.3. The fields file"><code class=
"filename">fields</code> configuration file</a>.</p>
</div>
<div class="sect1">
@@ -1701,7 +1703,7 @@
<span class="application">tmsu</span>, you would add the
following to the configuration file:</p>
<pre class="programlisting">[/some/area/of/the/fs]
-metadatacmds = ; tags = tmsu tags %f
+ metadatacmds = ; tags = tmsu tags %f
</pre>
<div class="note" style=
"margin-left: 0.5in; margin-right: 0.5in;">
@@ -1726,7 +1728,7 @@
"command"><strong>tmsu</strong></span> output will just
augment its contents. This will avoid the need to extend
the <a class="link" href="#RCL.PROGRAM.FIELDS" title=
- "4.2. Field data processing">field
+ "5.2. Field data processing">field
configuration</a>.</p>
<p>Once re-indexing is performed (you'll need to force the
file reindexing, <span class="application">Recoll</span>
@@ -1836,24 +1838,24 @@
"application">Recoll</span> 1.23.3 and later. 1.23.2 has
equivalent code inside the handler script). Example:</p>
<pre class="programlisting">import sys
-import re
+ import re
-class MetaFixer(object):
- def __init__(self):
+ class MetaFixer(object):
+ def __init__(self):
pass
- def metafix(self, nm, txt):
+ def metafix(self, nm, txt):
if nm == 'bibtex:pages':
- txt = re.sub(r'--', '-', txt)
+ txt = re.sub(r'--', '-', txt)
elif nm == 'someothername':
- # do something else
- pass
+ # do something else
+ pass
elif nm == 'stillanother':
- # etc.
- pass
-
+ # etc.
+ pass
+
return txt
- def wrapup(self, metaheaders):
+ def wrapup(self, metaheaders):
pass
</pre>
<p>If the 'metafix()' method is defined, it is called for
@@ -1985,8 +1987,8 @@
"command"><strong>recollindex</strong></span>
<code class="option">-if</code>. Trivial example:</p>
<pre class="programlisting">
- find . -name indexable.txt -print | recollindex -if
- </pre>
+ find . -name indexable.txt -print | recollindex -if
+ </pre>
<p><span class=
"command"><strong>recollindex</strong></span>
<code class="option">-i</code> will not descend into
@@ -2013,13 +2015,13 @@
"command"><strong>recollindex</strong></span> is in your
PATH):</p>
<pre class="screen">
-30 3 * * * recollindex > /some/tmp/dir/recolltrace 2>&1
-</pre>
+ 30 3 * * * recollindex > /some/tmp/dir/recolltrace 2>&1
+ </pre>
<p>Or, using <span class=
"command"><strong>anacron</strong></span>:</p>
<pre class="screen">
-1 15 su mylogin -c "recollindex recollindex > /tmp/rcltraceme 2>&1"
-</pre>
+ 1 15 su mylogin -c "recollindex recollindex > /tmp/rcltraceme 2>&1"
+ </pre>
<p>As of version 1.17 the <span class=
"application">Recoll</span> GUI has dialogs to manage
<code class="filename">crontab</code> entries for
@@ -2086,12 +2088,12 @@
"filename">.xsession</code> script with the following lines
at the end:</p>
<pre class="programlisting">recollconf=$HOME/.recoll-home
-recolldata=/usr/local/share/recoll
-RECOLL_CONFDIR=$recollconf $recolldata/examples/rclmon.sh start
+ recolldata=/usr/local/share/recoll
+ RECOLL_CONFDIR=$recollconf $recolldata/examples/rclmon.sh start
-fvwm
+ fvwm
-</pre>
+ </pre>
<p>The indexing daemon gets started, then the window
manager, for which the session waits.</p>
<p>By default the indexing daemon will monitor the state of
@@ -2117,7 +2119,7 @@
<p>When building <span class="application">Recoll</span>,
the real time indexing support can be customised during
package <a class="link" href="#RCL.INSTALL.BUILDING.BUILD"
- title="5.3.2. Building">configuration</a> with the
+ title="6.3.2. Building">configuration</a> with the
<code class="option">--with[out]-fam</code> or <code class=
"option">--with[out]-inotify</code> options. The default is
currently to include <span class=
@@ -2141,18 +2143,18 @@
normally defined in <code class=
"filename">/etc/sysctl.conf</code>.</p>
<pre class="programlisting">
-### inotify
-#
-# cat /proc/sys/fs/inotify/max_queued_events - 16384
-# cat /proc/sys/fs/inotify/max_user_instances - 128
-# cat /proc/sys/fs/inotify/max_user_watches - 16384
-#
-# -- Change to:
-#
-fs.inotify.max_queued_events=32768
-fs.inotify.max_user_instances=256
-fs.inotify.max_user_watches=32768
- </pre>
+ ### inotify
+ #
+ # cat /proc/sys/fs/inotify/max_queued_events - 16384
+ # cat /proc/sys/fs/inotify/max_user_instances - 128
+ # cat /proc/sys/fs/inotify/max_user_watches - 16384
+ #
+ # -- Change to:
+ #
+ fs.inotify.max_queued_events=32768
+ fs.inotify.max_user_instances=256
+ fs.inotify.max_user_watches=32768
+ </pre>
<p>Especially, you will need to trim your tree or adjust
the <code class="literal">max_user_watches</code> value
if indexing exits with a message about errno <code class=
@@ -2181,7 +2183,7 @@
"varname">mondelaypatterns</code> parameter in the
<a class="link" href=
"#RCL.INSTALL.CONFIG.RECOLLCONF.MISC" title=
- "5.4.2.5. Miscellaneous parameters">configuration
+ "6.4.2.5. Miscellaneous parameters">configuration
section</a>.</p>
</div>
</div>
@@ -2444,7 +2446,7 @@
<p>You may also change the choice of applications by
editing the <a class="link" href=
"#RCL.INSTALL.CONFIG.MIMEVIEW" title=
- "5.4.6. The mimeview file"><code class=
+ "6.4.6. The mimeview file"><code class=
"filename">mimeview</code></a> configuration file if you
find this more convenient.</p>
<p>Each result entry also has a right-click menu with an
@@ -2460,10 +2462,10 @@
only), or no configured external editor for the file
type. This can sometimes be adjusted simply by tweaking
the <a class="link" href="#RCL.INSTALL.CONFIG.MIMEMAP"
- title="5.4.4. The mimemap file"><code class=
+ title="6.4.4. The mimemap file"><code class=
"filename">mimemap</code></a> and <a class="link" href=
"#RCL.INSTALL.CONFIG.MIMEVIEW" title=
- "5.4.6. The mimeview file"><code class=
+ "6.4.6. The mimeview file"><code class=
"filename">mimeview</code></a> configuration files (the
latter can be modified with the user preferences
dialog).</p>
@@ -2690,12 +2692,12 @@
"filename">~/.recoll/scripts/myscript.desktop</code> (the
exact file name inside the directory is irrelevant):</p>
<pre class="programlisting">
-[Desktop Entry]
-Type=Application
-Name=MyFirstScript
-Exec=/home/me/bin/tryscript %F
-MimeType=*/*
- </pre>
+ [Desktop Entry]
+ Type=Application
+ Name=MyFirstScript
+ Exec=/home/me/bin/tryscript %F
+ MimeType=*/*
+ </pre>
<p>The <code class="literal">Name</code> attribute
defines the label which will appear inside the
<span class="guilabel">Run Script</span> menu. The
@@ -2898,44 +2900,44 @@
WEB history.</p>
<p>Here follows an example:</p>
<pre class="programlisting">
-<?xml version="1.0" encoding="UTF-8"?>
+ <?xml version="1.0" encoding="UTF-8"?>
-<fragbuts version="1.0">
+ <fragbuts version="1.0">
- <radiobuttons>
+ <radiobuttons>
- <fragbut>
- <label>Include Web Results</label>
- <frag></frag>
- </fragbut>
+ <fragbut>
+ <label>Include Web Results</label>
+ <frag></frag>
+ </fragbut>
- <fragbut>
- <label>Exclude Web Results</label>
- <frag>-rclbes:BGL</frag>
- </fragbut>
+ <fragbut>
+ <label>Exclude Web Results</label>
+ <frag>-rclbes:BGL</frag>
+ </fragbut>
- <fragbut>
- <label>Only Web Results</label>
- <frag>rclbes:BGL</frag>
- </fragbut>
+ <fragbut>
+ <label>Only Web Results</label>
+ <frag>rclbes:BGL</frag>
+ </fragbut>
- </radiobuttons>
+ </radiobuttons>
- <buttons>
+ <buttons>
- <fragbut>
- <label>Year 2010</label>
- <frag>date:2010-01-01/2010-12-31</frag>
- </fragbut>
+ <fragbut>
+ <label>Year 2010</label>
+ <frag>date:2010-01-01/2010-12-31</frag>
+ </fragbut>
- <fragbut>
- <label>My Great Directory Only</label>
- <frag>dir:/my/great/directory</frag>
- </fragbut>
+ <fragbut>
+ <label>My Great Directory Only</label>
+ <frag>dir:/my/great/directory</frag>
+ </fragbut>
- </buttons>
-</fragbuts>
-</pre>
+ </buttons>
+ </fragbuts>
+ </pre>
<p>Each <code class="literal">radiobuttons</code> or
<code class="literal">buttons</code> section defines a
line of checkbuttons or radiobuttons inside the window.
@@ -3885,7 +3887,7 @@
stemming databases which were built during indexing
(this is set in the <a class="link" href=
"#RCL.INSTALL.CONFIG.RECOLLCONF" title=
- "5.4.2. Recoll main configuration file, recoll.conf">
+ "6.4.2. Recoll main configuration file, recoll.conf">
main configuration file</a>), or later added with
<span class="command"><strong>recollindex
-s</strong></span> (See the recollindex manual).
@@ -4050,7 +4052,7 @@
associations are defined inside the <a class=
"link" href="#RCL.INSTALL.CONFIG.MIMECONF"
title=
- "5.4.5. The mimeconf file"><code class=
+ "6.4.5. The mimeconf file"><code class=
"filename">mimeconf</code> configuration
file</a>. If a thumbnail for the file is found
at the standard Freedesktop location, this will
@@ -4128,7 +4130,7 @@
of indexed but not stored fields is not known at this
point in the search process (see <a class="link"
href="#RCL.PROGRAM.FIELDS" title=
- "4.2. Field data processing">field
+ "5.2. Field data processing">field
configuration</a>). There are currently very few
fields stored by default, apart from the values above
(only <code class="literal">author</code> and
@@ -4140,31 +4142,31 @@
<p>The default value for the paragraph format string
is:</p>
<pre class="screen">
- "<table class=\"respar\">\n"
- "<tr>\n"
- "<td><a href='%U'><img src='%I' width='64'></a></td>\n"
- "<td>%L &nbsp;<i>%S</i> &nbsp;&nbsp;<b>%T</b><br>\n"
- "<span style='white-space:nowrap'><i>%M</i>&nbsp;%D</span>&nbsp;&nbsp;&nbsp; <i>%U</i>&nbsp;%i<br>\n"
- "%A %K</td>\n"
- "</tr></table>\n"
-</pre>
+ "<table class=\"respar\">\n"
+ "<tr>\n"
+ "<td><a href='%U'><img src='%I' width='64'></a></td>\n"
+ "<td>%L &nbsp;<i>%S</i> &nbsp;&nbsp;<b>%T</b><br>\n"
+ "<span style='white-space:nowrap'><i>%M</i>&nbsp;%D</span>&nbsp;&nbsp;&nbsp; <i>%U</i>&nbsp;%i<br>\n"
+ "%A %K</td>\n"
+ "</tr></table>\n"
+ </pre>
<p>You may, for example, try the following for a more
web-like experience:</p>
<pre class="screen">
-<u><b><a href="P%N">%T</a></b></u><br>
-%A<font color=#008000>%U - %S</font> - %L
-</pre>
+ <u><b><a href="P%N">%T</a></b></u><br>
+ %A<font color=#008000>%U - %S</font> - %L
+ </pre>
<p>Note that the P%N link in the above paragraph
makes the title a preview link. Or the clean
looking:</p>
<pre class="screen">
-<img src="%I" align="left">%L <font color="#900000">%R</font>
-&nbsp;&nbsp;<b>%T&</b><br>%S&nbsp;
-<font color="#808080"><i>%U</i></font>
-<table bgcolor="#e0e0e0">
-<tr><td><div>%A</div></td></tr>
-</table>%K
-</pre>
+ <img src="%I" align="left">%L <font color="#900000">%R</font>
+ &nbsp;&nbsp;<b>%T&</b><br>%S&nbsp;
+ <font color="#808080"><i>%U</i></font>
+ <table bgcolor="#e0e0e0">
+ <tr><td><div>%A</div></td></tr>
+ </table>%K
+ </pre>
<p>These samples, and some others are <a class=
"ulink" href="http://www.recoll.org/custom.html"
target="_top">on the web site, with pictures to show
@@ -4253,16 +4255,16 @@
initiate a search by double-clicking any term:</p>
<pre class="programlisting">
<script language="JavaScript">
- function recollsearch() {
+ function recollsearch() {
var t = document.getSelection();
window.location.href = 'recoll://search/query?qtp=a&p=0&q=' +
- encodeURIComponent(t);
- }
-</script>
- ....
-<body ondblclick="recollsearch()">
+ encodeURIComponent(t);
+ }
+ </script>
+ ....
+ <body ondblclick="recollsearch()">
-</pre>
+ </pre>
</div>
</div>
<div class="sect1">
@@ -4297,7 +4299,7 @@
<p>By writing a custom <span class=
"application">Python</span> program, using the
<a class="link" href="#RCL.PROGRAM.PYTHONAPI" title=
- "4.3. Python API">Recoll Python API</a>.</p>
+ "5.3. Python API">Recoll Python API</a>.</p>
</li>
</ul>
</div>
@@ -4323,52 +4325,52 @@
<code class="filename">doc/man</code> directory). The Usage
string is as follows:</p>
<pre class="programlisting">
-recollq: usage:
- -P: Show the date span for all the documents present in the index
- [-o|-a|-f] [-q] <query string>
- Runs a recoll query and displays result lines.
- Default: will interpret the argument(s) as a xesam query string
- query may be like:
- implicit AND, Exclusion, field spec: t1 -t2 title:t3
- OR has priority: t1 OR t2 t3 OR t4 means (t1 OR t2) AND (t3 OR t4)
- Phrase: "t1 t2" (needs additional quoting on cmd line)
- -o Emulate the GUI simple search in ANY TERM mode
- -a Emulate the GUI simple search in ALL TERMS mode
- -f Emulate the GUI simple search in filename mode
- -q is just ignored (compatibility with the recoll GUI command line)
-Common options:
- -c <configdir> : specify config directory, overriding $RECOLL_CONFDIR
- -d also dump file contents
- -n [first-]<cnt> define the result slice. The default value for [first]
- is 0. Without the option, the default max count is 2000.
- Use n=0 for no limit
- -b : basic. Just output urls, no mime types or titles
- -Q : no result lines, just the processed query and result count
- -m : dump the whole document meta[] array for each result
- -A : output the document abstracts
- -S fld : sort by field <fld>
- -s stemlang : set stemming language to use (must exist in index...)
- Use -s "" to turn off stem expansion
- -D : sort descending
- -i <dbdir> : additional index, several can be given
- -e use url encoding (%xx) for urls
- -F <field name list> : output exactly these fields for each result.
- The field values are encoded in base64, output in one line and
- separated by one space character. This is the recommended format
- for use by other programs. Use a normal query with option -m to
- see the field names.
-</pre>
+ recollq: usage:
+ -P: Show the date span for all the documents present in the index
+ [-o|-a|-f] [-q] <query string>
+ Runs a recoll query and displays result lines.
+ Default: will interpret the argument(s) as a xesam query string
+ query may be like:
+ implicit AND, Exclusion, field spec: t1 -t2 title:t3
+ OR has priority: t1 OR t2 t3 OR t4 means (t1 OR t2) AND (t3 OR t4)
+ Phrase: "t1 t2" (needs additional quoting on cmd line)
+ -o Emulate the GUI simple search in ANY TERM mode
+ -a Emulate the GUI simple search in ALL TERMS mode
+ -f Emulate the GUI simple search in filename mode
+ -q is just ignored (compatibility with the recoll GUI command line)
+ Common options:
+ -c <configdir> : specify config directory, overriding $RECOLL_CONFDIR
+ -d also dump file contents
+ -n [first-]<cnt> define the result slice. The default value for [first]
+ is 0. Without the option, the default max count is 2000.
+ Use n=0 for no limit
+ -b : basic. Just output urls, no mime types or titles
+ -Q : no result lines, just the processed query and result count
+ -m : dump the whole document meta[] array for each result
+ -A : output the document abstracts
+ -S fld : sort by field <fld>
+ -s stemlang : set stemming language to use (must exist in index...)
+ Use -s "" to turn off stem expansion
+ -D : sort descending
+ -i <dbdir> : additional index, several can be given
+ -e use url encoding (%xx) for urls
+ -F <field name list> : output exactly these fields for each result.
+ The field values are encoded in base64, output in one line and
+ separated by one space character. This is the recommended format
+ for use by other programs. Use a normal query with option -m to
+ see the field names.
+ </pre>
<p>Sample execution:</p>
<pre class="programlisting">
recollq 'ilur -nautique mime:text/html'
-Recoll query: ((((ilur:(wqf=11) OR ilurs) AND_NOT (nautique:(wqf=11)
- OR nautiques OR nautiqu OR nautiquement)) FILTER Ttext/html))
-4 results
-text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/comptes.html] [comptes.html] 18593 bytes
-text/html [file:///Users/uncrypted-dockes/projets/nautique/webnautique/articles/ilur1/index.html] [Constructio...
-text/html [file:///Users/uncrypted-dockes/projets/pagepers/index.html] [psxtcl/writemime/recoll]...
-text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/factEtCie/recu-chasse-maree....
-</pre>
+ Recoll query: ((((ilur:(wqf=11) OR ilurs) AND_NOT (nautique:(wqf=11)
+ OR nautiques OR nautiqu OR nautiquement)) FILTER Ttext/html))
+ 4 results
+ text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/comptes.html] [comptes.html] 18593 bytes
+ text/html [file:///Users/uncrypted-dockes/projets/nautique/webnautique/articles/ilur1/index.html] [Constructio...
+ text/html [file:///Users/uncrypted-dockes/projets/pagepers/index.html] [psxtcl/writemime/recoll]...
+ text/html [file:///Users/uncrypted-dockes/projets/bateaux/ilur/factEtCie/recu-chasse-maree....
+ </pre>
</div>
<div class="sect1">
<div class="titlepage">
@@ -4412,12 +4414,12 @@
Each line in the file defines a group.</p>
<p>Example:</p>
<pre class="programlisting">
-hi hello "good morning"
+ hi hello "good morning"
-# not sure about "au revoir" though. Is this english ?
-bye goodbye "see you" \
- "au revoir"
- </pre>
+ # not sure about "au revoir" though. Is this english ?
+ bye goodbye "see you" \
+ "au revoir"
+ </pre>
<p>As usual, lines beginning with a <code class=
"literal">#</code> are comments, empty lines are ignored,
and lines can be continued by ending them with a
@@ -4508,7 +4510,7 @@
accesses from the client.</p>
<p>The translations are defined in the <a class="link"
href="#RCL.INSTALL.CONFIG.PTRANS" title=
- "5.4.7. The ptrans file"><code class=
+ "6.4.7. The ptrans file"><code class=
"filename">ptrans</code></a> configuration file, which can
be edited by hand or from the GUI external indexes
configuration dialog: <span class=
@@ -4554,7 +4556,7 @@
<p>Here follows a sample request that we are going to
explain:</p>
<pre class="programlisting">
- author:"john doe" Beatles OR Lennon Live OR Unplugged -potatoes
+ author:"john doe" Beatles OR Lennon Live OR Unplugged -potatoes
</pre>
<p>This would search for all documents with <em class=
"replaceable"><code>John Doe</code></em> appearing as a
@@ -4707,7 +4709,7 @@
"literal">containerfilename</code> to <em class=
"replaceable"><code>cfn</code></em>. See the <a class=
"link" href="#RCL.INSTALL.CONFIG.FIELDS" title=
- "5.4.3. The fields file">section about the
+ "6.4.3. The fields file">section about the
<code class="filename">fields</code> file</a></p>
<p>The document input handlers used while indexing have the
possibility to create other fields with arbitrary names,
@@ -4740,8 +4742,8 @@
can be specified, both positive and negative. For
example the following makes sense:</p>
<pre class="programlisting">
-dir:recoll dir:src -dir:utils -dir:common
- </pre>
+ dir:recoll dir:src -dir:utils -dir:common
+ </pre>
<p>This would select results which have both
<code class="filename">recoll</code> and <code class=
"filename">src</code> in the path (in any order), and
@@ -5022,7 +5024,7 @@
make it diacritics-sensitive. Examples:</p>
<pre class="programlisting">
"us"C
- </pre>
+ </pre>
<p>will search for the term <code class="literal">us</code>
exactly (<code class="literal">Us</code> will not be a
match).</p>
@@ -5316,8 +5318,107 @@
<div class="titlepage">
<div>
<div>
+ <h1 class="title"><a name="RCL.MOVABLE" id=
+ "RCL.MOVABLE"></a>Chapter 4. Movable
+ datasets</h1>
+ </div>
+ </div>
+ </div>
+ <p>As of <span class="application">Recoll</span> 1.24, it has
+ become easy to build self-contained datasets including a
+ <span class="application">Recoll</span> configuration
+ directory and index together with the indexed documents, and
+ to move such a dataset around (for example copying it to an
+ USB drive), without having to adjust the configuration for
+ querying the index.</p>
+ <div class="note" style=
+ "margin-left: 0.5in; margin-right: 0.5in;">
+ <h3 class="title">Note</h3>
+ <p>This is a query-time feature only. The index must only
+ be updated in its original location. If an update is
+ necessary in a different location, the index must be
+ reset.</p>
+ </div>
+ <p>The examples below will assume that you have a dataset
+ under <code class="filename">/home/me/mydata/</code>, with
+ the index configuration and data stored inside <code class=
+ "filename">/home/me/mydata/recoll-confdir</code>.</p>
+ <p>In order to be able to run queries after the dataset has
+ been moved, you must ensure the following:</p>
+ <div class="itemizedlist">
+ <ul class="itemizedlist" style="list-style-type: disc;">
+ <li class="listitem">
+ <p>The main configuration file must define the
+ <a class="link" href=
+ "#RCL.INSTALL.CONFIG.RECOLLCONF.ORGIDXCONFDIR">orgidxconfdir</a>
+ variable to be the original location of the
+ configuration directory (<code class=
+ "filename">orgidxconfdir=/home/me/mydata/recoll-confdir</code>
+ must be set inside <code class=
+ "filename">/home/me/mydata/recoll-confdir/recoll.conf</code>
+ in the example above).</p>
+ </li>
+ <li class="listitem">
+ <p>The configuration directory must exist with the
+ documents, somewhere under the directory which will be
+ moved. E.g. if you are moving <code class=
+ "filename">/home/me/mydata</code> around, the
+ configuration directory must exist somewhere below this
+ point, for example <code class=
+ "filename">/home/me/mydata/recoll-confdir</code>, or
+ <code class=
+ "filename">/home/me/mydata/sub/recoll-confdir</code>.</p>
+ </li>
+ <li class="listitem">
+ <p>You should keep the default locations for the index
+ elements (they are relative to the configuration
+ directory by default). Only the paths referring to the
+ documents themselves (e.g. <code class=
+ "literal">topdirs</code> values) should be absolute (in
+ general, they are only used when indexing anyway).</p>
+ </li>
+ </ul>
+ </div>
+ <p>Only the first point needs an explicit user action, the
+ <span class="application">Recoll</span> defaults are
+ compatible with the second one, and the third is natural.</p>
+ <p>If, after the move, the configuration directory needs to
+ be copied out of the dataset (for example because the thumb
+ drive is too slow), you can set the <a class="link" href=
+ "#RCL.INSTALL.CONFIG.RECOLLCONF.CURIDXCONFDIR">curidxconfdir</a>,
+ variable inside the copied configuration to define the
+ location of the moved one. For example if <code class=
+ "filename">/home/me/mydata</code> is now mounted onto
+ <code class="filename">/media/me/somelabel</code>, but the
+ configuration directory and index has been copied to
+ <code class="filename">/tmp/tempconfig</code>, you would set
+ <code class="literal">curidxconfdir</code> to <code class=
+ "filename">/media/me/somelabel/recoll-confdir</code> inside
+ <code class="filename">/tmp/tempconfig/recoll.conf</code>.
+ <code class="literal">orgidxconfdir</code> would still be
+ <code class="filename">/home/me/mydata/recoll-confdir</code>
+ in the original and the copy.</p>
+ <p>If you are regularly copying the configuration out of the
+ dataset, it will be useful to write a script to automate the
+ procedure. This can't really be done inside <span class=
+ "application">Recoll</span> because there are probably many
+ possible variants. One example would be to copy the
+ configuration to make it writable, but keep the index data on
+ the medium because it is too big - in this case, the script
+ would also need to set <code class="literal">dbdir</code> in
+ the copied configuration.</p>
+ <p>The same set of modifications (<span class=
+ "application">Recoll</span> 1.24) has also made it possible
+ to run queries from a readonly configuration directory (with
+ slightly reduced function of course, such as not recording
+ the query history).</p>
+ </div>
+ <div class="chapter">
+ <div class="titlepage">
+ <div>
+ <div>
<h1 class="title"><a name="RCL.PROGRAM" id=
- "RCL.PROGRAM"></a>Chapter 4. Programming
+ "RCL.PROGRAM"></a>Chapter 5. Programming
interface</h1>
</div>
</div>
@@ -5337,7 +5438,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.PROGRAM.FILTERS" id=
- "RCL.PROGRAM.FILTERS"></a>4.1. Writing a
+ "RCL.PROGRAM.FILTERS"></a>5.1. Writing a
document input handler</h2>
</div>
</div>
@@ -5425,7 +5526,7 @@
"literal">meta</code> tags. These will be processed
according to the directives found in the <a class="link"
href="#RCL.PROGRAM.FIELDS" title=
- "4.2. Field data processing"><code class=
+ "5.2. Field data processing"><code class=
"filename">fields</code> configuration file</a>.</p>
<p>The handlers that can handle multiple documents per file
return a single piece of data to identify each document
@@ -5446,7 +5547,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.FILTERS.SIMPLE" id=
- "RCL.PROGRAM.FILTERS.SIMPLE"></a>4.1.1. Simple
+ "RCL.PROGRAM.FILTERS.SIMPLE"></a>5.1.1. Simple
input handlers</h3>
</div>
</div>
@@ -5473,7 +5574,7 @@
deciding factor is metadata: <span class=
"application">Recoll</span> has a way to <a class="link"
href="#RCL.PROGRAM.FILTERS.HTML" title=
- "4.1.4. Input handler output">extract metadata from
+ "5.1.4. Input handler output">extract metadata from
the HTML header and use it for field searches.</a>.</p>
<p>The <code class=
"envar">RECOLL_FILTER_FORPREVIEW</code> environment
@@ -5497,7 +5598,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.FILTERS.MULTIPLE" id=
- "RCL.PROGRAM.FILTERS.MULTIPLE"></a>4.1.2. "Multiple"
+ "RCL.PROGRAM.FILTERS.MULTIPLE"></a>5.1.2. "Multiple"
handlers</h3>
</div>
</div>
@@ -5567,7 +5668,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.FILTERS.ASSOCIATION" id=
- "RCL.PROGRAM.FILTERS.ASSOCIATION"></a>4.1.3. Telling
+ "RCL.PROGRAM.FILTERS.ASSOCIATION"></a>5.1.3. Telling
<span class="application">Recoll</span> about the
handler</h3>
</div>
@@ -5580,12 +5681,12 @@
<p>The association of files to MIME types is mostly based
on name suffixes. The types are defined inside the
<a class="link" href="#RCL.INSTALL.CONFIG.MIMEMAP" title=
- "5.4.4. The mimemap file"><code class=
+ "6.4.4. The mimemap file"><code class=
"filename">mimemap</code> file</a>. Example:</p>
<pre class="programlisting">
-.doc = application/msword
-</pre>
+ .doc = application/msword
+ </pre>
<p>If no suffix association is found for the file name,
<span class="application">Recoll</span> will try to
execute a system command (typically <span class=
@@ -5595,21 +5696,21 @@
<p>The second element is the association of MIME types to
handlers in the <a class="link" href=
"#RCL.INSTALL.CONFIG.MIMECONF" title=
- "5.4.5. The mimeconf file"><code class=
+ "6.4.5. The mimeconf file"><code class=
"filename">mimeconf</code> file</a>. A sample will
probably be better than a long explanation:</p>
<pre class="programlisting">
-[index]
-application/msword = exec antiword -t -i 1 -m UTF-8;\
- mimetype = text/plain ; charset=utf-8
+ [index]
+ application/msword = exec antiword -t -i 1 -m UTF-8;\
+ mimetype = text/plain ; charset=utf-8
-application/ogg = exec rclogg
+ application/ogg = exec rclogg
-text/rtf = exec unrtf --nopict --html; charset=iso-8859-1; mimetype=text/html
+ text/rtf = exec unrtf --nopict --html; charset=iso-8859-1; mimetype=text/html
-application/x-chm = execm rclchm
-</pre>
+ application/x-chm = execm rclchm
+ </pre>
<p>The fragment specifies that:</p>
<div class="itemizedlist">
<ul class="itemizedlist" style=
@@ -5657,7 +5758,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.FILTERS.HTML" id=
- "RCL.PROGRAM.FILTERS.HTML"></a>4.1.4. Input
+ "RCL.PROGRAM.FILTERS.HTML"></a>5.1.4. Input
handler output</h3>
</div>
</div>
@@ -5681,15 +5782,15 @@
<p>For filters producing HTML, the output could be very
minimal like the following example:</p>
<pre class="programlisting">
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
- </head>
- <body>
- Some text content
- </body>
-</html>
- </pre>
+ <html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+ </head>
+ <body>
+ Some text content
+ </body>
+ </html>
+ </pre>
<p>You should take care to escape some characters inside
the text by transforming them into appropriate entities.
At the very minimum, "<code class="literal">&</code>"
@@ -5714,7 +5815,7 @@
can be processed by the indexer in different ways, for
searching or displaying inside query results. This is
described in a <a class="link" href="#RCL.PROGRAM.FIELDS"
- title="4.2. Field data processing">following
+ title="5.2. Field data processing">following
section.</a></p>
<p>By default, the indexer will process the standard
header fields if they are present: <code class=
@@ -5731,19 +5832,19 @@
preference to the file modification date. The date format
should be as follows:</p>
<pre class="programlisting">
-<meta name="date" content="YYYY-mm-dd HH:MM:SS">
-or
-<meta name="date" content="YYYY-mm-ddTHH:MM:SS">
- </pre>
+ <meta name="date" content="YYYY-mm-dd HH:MM:SS">
+ or
+ <meta name="date" content="YYYY-mm-ddTHH:MM:SS">
+ </pre>
<p>Example:</p>
<pre class="programlisting">
-<meta name="date" content="2013-02-24 17:50:00">
- </pre>
+ <meta name="date" content="2013-02-24 17:50:00">
+ </pre>
<p>Input handlers also have the possibility to "invent"
field names. This should also be output as meta tags:</p>
<pre class="programlisting">
-<meta name="somefield" content="Some textual data" />
-</pre>
+ <meta name="somefield" content="Some textual data" />
+ </pre>
<p>You can embed HTML markup inside the content of custom
fields, for improving the display inside result lists. In
this case, add a (wildly non-standard) <code class=
@@ -5751,11 +5852,11 @@
"application">Recoll</span> that the value is HTML and
should not be escaped for display.</p>
<pre class="programlisting">
-<meta name="somefield" markup="html" content="Some <i>textual</i> data" />
-</pre>
+ <meta name="somefield" markup="html" content="Some <i>textual</i> data" />
+ </pre>
<p>As written above, the processing of fields is
described in a <a class="link" href="#RCL.PROGRAM.FIELDS"
- title="4.2. Field data processing">further
+ title="5.2. Field data processing">further
section</a>.</p>
<p>Persistent filters can use another, probably simpler,
method to produce metadata, by calling the <code class=
@@ -5774,7 +5875,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.FILTERS.PAGES" id=
- "RCL.PROGRAM.FILTERS.PAGES"></a>4.1.5. Page
+ "RCL.PROGRAM.FILTERS.PAGES"></a>5.1.5. Page
numbers</h3>
</div>
</div>
@@ -5793,7 +5894,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.PROGRAM.FIELDS" id=
- "RCL.PROGRAM.FIELDS"></a>4.2. Field data
+ "RCL.PROGRAM.FIELDS"></a>5.2. Field data
processing</h2>
</div>
</div>
@@ -5888,7 +5989,7 @@
</div>
<p>You can find more information in the <a class="link"
href="#RCL.INSTALL.CONFIG.FIELDS" title=
- "5.4.3. The fields file">section about the
+ "6.4.3. The fields file">section about the
<code class="filename">fields</code> file</a>, or in
comments inside the file.</p>
<p>You can also have a look at the <a class="ulink" href=
@@ -5904,7 +6005,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.PROGRAM.PYTHONAPI" id=
- "RCL.PROGRAM.PYTHONAPI"></a>4.3. Python API</h2>
+ "RCL.PROGRAM.PYTHONAPI"></a>5.3. Python API</h2>
</div>
</div>
</div>
@@ -5914,7 +6015,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.INTRO" id=
- "RCL.PROGRAM.PYTHONAPI.INTRO"></a>4.3.1. Introduction</h3>
+ "RCL.PROGRAM.PYTHONAPI.INTRO"></a>5.3.1. Introduction</h3>
</div>
</div>
</div>
@@ -5971,13 +6072,13 @@
<span class="application">Recoll</span> code, you can use
the script to build and install the Python module:</p>
<pre class="screen">
- <strong class=
+ <strong class=
"userinput"><code>cd recoll-xxx/python/recoll</code></strong>
- <strong class=
+ <strong class=
"userinput"><code>python setup.py build</code></strong>
- <strong class=
+ <strong class=
"userinput"><code>python setup.py install</code></strong>
- </pre>
+ </pre>
<p>As of <span class="application">Recoll</span> 1.19,
the module can be compiled for Python3.</p>
<p>The normal <span class="application">Recoll</span>
@@ -5997,17 +6098,17 @@
the extension more completely, and especially its data
extraction features.</p>
<pre class="programlisting">
-#!/usr/bin/env python
+ #!/usr/bin/env python
-from recoll import recoll
+ from recoll import recoll
-db = recoll.connect()
-query = db.query()
-nres = query.execute("some query")
-results = query.fetchmany(20)
-for doc in results:
- print(doc.url, doc.title)
-</pre>
+ db = recoll.connect()
+ query = db.query()
+ nres = query.execute("some query")
+ results = query.fetchmany(20)
+ for doc in results:
+ print(doc.url, doc.title)
+ </pre>
</div>
<div class="sect2">
<div class="titlepage">
@@ -6015,7 +6116,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.ELEMENTS" id=
- "RCL.PROGRAM.PYTHONAPI.ELEMENTS"></a>4.3.2. Interface
+ "RCL.PROGRAM.PYTHONAPI.ELEMENTS"></a>5.3.2. Interface
elements</h3>
</div>
</div>
@@ -6125,7 +6226,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.SEARCH" id=
- "RCL.PROGRAM.PYTHONAPI.SEARCH"></a>4.3.3. Python
+ "RCL.PROGRAM.PYTHONAPI.SEARCH"></a>5.3.3. Python
search interface</h3>
</div>
</div>
@@ -6136,7 +6237,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.PACKAGE" id=
- "RCL.PROGRAM.PYTHONAPI.PACKAGE"></a>4.3.3.1. Recoll
+ "RCL.PROGRAM.PYTHONAPI.PACKAGE"></a>5.3.3.1. Recoll
package</h4>
</div>
</div>
@@ -6167,7 +6268,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.RECOLL" id=
- "RCL.PROGRAM.PYTHONAPI.RECOLL"></a>4.3.3.2. The
+ "RCL.PROGRAM.PYTHONAPI.RECOLL"></a>5.3.3.2. The
recoll module</h4>
</div>
</div>
@@ -6556,7 +6657,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.RCLEXTRACT" id=
- "RCL.PROGRAM.PYTHONAPI.RCLEXTRACT"></a>4.3.3.3. The
+ "RCL.PROGRAM.PYTHONAPI.RCLEXTRACT"></a>5.3.3.3. The
rclextract module</h4>
</div>
</div>
@@ -6613,11 +6714,11 @@
text/html according to doc.mimetype. The
typical use would be as follows:</p>
<pre class="programlisting">
-qdoc = query.fetchone()
-extractor = recoll.Extractor(qdoc)
-doc = extractor.textextract(qdoc.ipath)
-# use doc.text, e.g. for previewing
-</pre>
+ qdoc = query.fetchone()
+ extractor = recoll.Extractor(qdoc)
+ doc = extractor.textextract(qdoc.ipath)
+ # use doc.text, e.g. for previewing
+ </pre>
</dd>
<dt><span class=
"term">Extractor.idoctofile(ipath, targetmtype,
@@ -6628,9 +6729,9 @@
created as a temporary file to be deleted by
the caller. Typical use:</p>
<pre class="programlisting">
-qdoc = query.fetchone()
-extractor = recoll.Extractor(qdoc)
-filename = extractor.idoctofile(qdoc.ipath, qdoc.mimetype)</pre>
+ qdoc = query.fetchone()
+ extractor = recoll.Extractor(qdoc)
+ filename = extractor.idoctofile(qdoc.ipath, qdoc.mimetype)</pre>
</dd>
</dl>
</div>
@@ -6643,7 +6744,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.SEARCH.EXAMPLE" id=
- "RCL.PROGRAM.PYTHONAPI.SEARCH.EXAMPLE"></a>4.3.3.4. Search
+ "RCL.PROGRAM.PYTHONAPI.SEARCH.EXAMPLE"></a>5.3.3.4. Search
API usage example</h4>
</div>
</div>
@@ -6657,9 +6758,9 @@
embryonic GUI which demonstrates the highlighting and
data extraction functions.</p>
<pre class="programlisting">
-#!/usr/bin/env python
-
-from recoll import recoll
+ #!/usr/bin/env python
+
+ from recoll import recoll
db = recoll.connect()
db.setAbstractParams(maxchars=80, contextwords=4)
@@ -6668,18 +6769,18 @@
nres = query.execute("some user question")
print "Result count: ", nres
if nres > 5:
- nres = 5
+nres = 5
for i in range(nres):
- doc = query.fetchone()
- print "Result #%d" % (query.rownumber,)
- for k in ("title", "size"):
- print k, ":", getattr(doc, k).encode('utf-8')
- abs = db.makeDocAbstract(doc, query).encode('utf-8')
- print abs
- print
+doc = query.fetchone()
+print "Result #%d" % (query.rownumber,)
+for k in ("title", "size"):
+print k, ":", getattr(doc, k).encode('utf-8')
+abs = db.makeDocAbstract(doc, query).encode('utf-8')
+print abs
+print
-
-</pre>
+
+ </pre>
</div>
</div>
<div class="sect2">
@@ -6688,7 +6789,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.UPDATE" id=
- "RCL.PROGRAM.PYTHONAPI.UPDATE"></a>4.3.4. Creating
+ "RCL.PROGRAM.PYTHONAPI.UPDATE"></a>5.3.4. Creating
Python external indexers</h3>
</div>
</div>
@@ -6743,7 +6844,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.UPDATE.UPDATE" id=
- "RCL.PROGRAM.PYTHONAPI.UPDATE.UPDATE"></a>4.3.4.1. Python
+ "RCL.PROGRAM.PYTHONAPI.UPDATE.UPDATE"></a>5.3.4.1. Python
update interface</h4>
</div>
</div>
@@ -6837,7 +6938,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.UPDATE.ACCESS" id=
- "RCL.PROGRAM.PYTHONAPI.UPDATE.ACCESS"></a>4.3.4.2. Query
+ "RCL.PROGRAM.PYTHONAPI.UPDATE.ACCESS"></a>5.3.4.2. Query
data access for external indexers (1.23)</h4>
</div>
</div>
@@ -6864,9 +6965,9 @@
Recoll source (which sets <code class=
"literal">rclbes="MBOX"</code>):</p>
<pre class="programlisting">[MBOX]
-fetch = /path/to/recoll/src/python/samples/rclmbox.py fetch
-makesig = path/to/recoll/src/python/samples/rclmbox.py makesig
- </pre>
+ fetch = /path/to/recoll/src/python/samples/rclmbox.py fetch
+ makesig = path/to/recoll/src/python/samples/rclmbox.py makesig
+ </pre>
<p><code class="literal">fetch</code> and <code class=
"literal">makesig</code> define two commands to execute
to respectively retrieve the document text and compute
@@ -6887,7 +6988,7 @@
<div>
<h4 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.UPDATE.SAMPLES" id=
- "RCL.PROGRAM.PYTHONAPI.UPDATE.SAMPLES"></a>4.3.4.3. External
+ "RCL.PROGRAM.PYTHONAPI.UPDATE.SAMPLES"></a>5.3.4.3. External
indexer samples</h4>
</div>
</div>
@@ -6910,7 +7011,7 @@
<div>
<h3 class="title"><a name=
"RCL.PROGRAM.PYTHONAPI.COMPAT" id=
- "RCL.PROGRAM.PYTHONAPI.COMPAT"></a>4.3.5. Package
+ "RCL.PROGRAM.PYTHONAPI.COMPAT"></a>5.3.5. Package
compatibility with the previous version</h3>
</div>
</div>
@@ -6921,27 +7022,27 @@
of course).</p>
<p>Adapting to the new package structure:</p>
<pre class="programlisting">
-
-try:
- from recoll import recoll
- from recoll import rclextract
- hasextract = True
-except:
- import recoll
- hasextract = False
-
- </pre>
+
+ try:
+ from recoll import recoll
+ from recoll import rclextract
+ hasextract = True
+ except:
+ import recoll
+ hasextract = False
+
+ </pre>
<p>Adapting to the change of nature of the <code class=
"literal">next</code> <code class="literal">Query</code>
member. The same test can be used to choose to use the
<code class="literal">scroll()</code> method (new) or set
the <code class="literal">next</code> value (old).</p>
<pre class="programlisting">
-
- rownum = query.next if type(query.next) == int else \
- query.rownumber
-
- </pre>
+
+ rownum = query.next if type(query.next) == int else \
+ query.rownumber
+
+ </pre>
</div>
</div>
</div>
@@ -6950,7 +7051,7 @@
<div>
<div>
<h1 class="title"><a name="RCL.INSTALL" id=
- "RCL.INSTALL"></a>Chapter 5. Installation and
+ "RCL.INSTALL"></a>Chapter 6. Installation and
configuration</h1>
</div>
</div>
@@ -6961,7 +7062,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.INSTALL.BINARY" id=
- "RCL.INSTALL.BINARY"></a>5.1. Installing a
+ "RCL.INSTALL.BINARY"></a>6.1. Installing a
binary copy</h2>
</div>
</div>
@@ -6991,14 +7092,14 @@
complains about missing dependancies).</p>
<p>In all cases, you will have to check or install
<a class="link" href="#RCL.INSTALL.EXTERNAL" title=
- "5.2. Supporting packages">supporting applications</a>
+ "6.2. Supporting packages">supporting applications</a>
for the file types that you want to index beyond those that
are natively processed by <span class=
"application">Recoll</span> (text, HTML, email files, and a
few others).</p>
<p>You should also maybe have a look at the <a class="link"
href="#RCL.INSTALL.CONFIG" title=
- "5.4. Configuration overview">configuration
+ "6.4. Configuration overview">configuration
section</a> (but this may not be necessary for a quick test
with default parameters). Most parameters can be more
conveniently set from the GUI interface.</p>
@@ -7009,7 +7110,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.INSTALL.EXTERNAL" id=
- "RCL.INSTALL.EXTERNAL"></a>5.2. Supporting
+ "RCL.INSTALL.EXTERNAL"></a>6.2. Supporting
packages</h2>
</div>
</div>
@@ -7227,7 +7328,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.INSTALL.BUILDING" id=
- "RCL.INSTALL.BUILDING"></a>5.3. Building from
+ "RCL.INSTALL.BUILDING"></a>6.3. Building from
source</h2>
</div>
</div>
@@ -7238,7 +7339,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.BUILDING.PREREQS" id=
- "RCL.INSTALL.BUILDING.PREREQS"></a>5.3.1. Prerequisites</h3>
+ "RCL.INSTALL.BUILDING.PREREQS"></a>6.3.1. Prerequisites</h3>
</div>
</div>
</div>
@@ -7343,7 +7444,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.BUILDING.BUILD" id=
- "RCL.INSTALL.BUILDING.BUILD"></a>5.3.2. Building</h3>
+ "RCL.INSTALL.BUILDING.BUILD"></a>6.3.2. Building</h3>
</div>
</div>
</div>
@@ -7477,13 +7578,14 @@
<p>Normal procedure (for source extracted from a tar
distribution):</p>
<pre class="screen">
- <strong class=
+ <strong class=
"userinput"><code>cd recoll-xxx</code></strong>
- <strong class="userinput"><code>./configure</code></strong>
- <strong class="userinput"><code>make</code></strong>
- <strong class=
+ <strong class=
+"userinput"><code>./configure</code></strong>
+ <strong class="userinput"><code>make</code></strong>
+ <strong class=
"userinput"><code>(practices usual hardship-repelling invocations)</code></strong>
- </pre>
+ </pre>
<p>When building from source cloned from the BitBucket
repository, you also need to install <span class=
"application">autoconf</span>, <span class=
@@ -7498,7 +7600,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.BUILDING.BUILD.SOLARIS" id=
- "RCL.INSTALL.BUILDING.BUILD.SOLARIS"></a>5.3.2.1. Building
+ "RCL.INSTALL.BUILDING.BUILD.SOLARIS"></a>6.3.2.1. Building
on Solaris</h4>
</div>
</div>
@@ -7522,7 +7624,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.BUILDING.INSTALL" id=
- "RCL.INSTALL.BUILDING.INSTALL"></a>5.3.3. Installation</h3>
+ "RCL.INSTALL.BUILDING.INSTALL"></a>6.3.3. Installation</h3>
</div>
</div>
</div>
@@ -7542,7 +7644,7 @@
<div>
<h2 class="title" style="clear: both"><a name=
"RCL.INSTALL.CONFIG" id=
- "RCL.INSTALL.CONFIG"></a>5.4. Configuration
+ "RCL.INSTALL.CONFIG"></a>6.4. Configuration
overview</h2>
</div>
</div>
@@ -7624,7 +7726,7 @@
[~/somedirectory-with-utf8-txt-files]
defaultcharset = utf-8
- </pre>
+ </pre>
<p>There are three kinds of lines:</p>
<div class="itemizedlist">
<ul class="itemizedlist" style="list-style-type: disc;">
@@ -7665,10 +7767,10 @@
the physical newline with backslash, even inside quoted
strings.</p>
<pre class="programlisting">
-astringlist = "some string \
-with spaces"
-thesame = "some string with spaces"
- </pre>
+ astringlist = "some string \
+ with spaces"
+ thesame = "some string with spaces"
+ </pre>
<p>Parameters which are not part of string lists can't be
quoted, and leading and trailing space characters are
stripped before the value is used.</p>
@@ -7704,7 +7806,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.ENVIR" id=
- "RCL.INSTALL.CONFIG.ENVIR"></a>5.4.1. Environment
+ "RCL.INSTALL.CONFIG.ENVIR"></a>6.4.1. Environment
variables</h3>
</div>
</div>
@@ -7784,7 +7886,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF"></a>5.4.2. Recoll
+ "RCL.INSTALL.CONFIG.RECOLLCONF"></a>6.4.2. Recoll
main configuration file, recoll.conf</h3>
</div>
</div>
@@ -7795,7 +7897,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.WHATDOCS" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.WHATDOCS"></a>5.4.2.1. Parameters
+ "RCL.INSTALL.CONFIG.RECOLLCONF.WHATDOCS"></a>6.4.2.1. Parameters
affecting what documents we index</h4>
</div>
</div>
@@ -8094,7 +8196,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.TERMS" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.TERMS"></a>5.4.2.2. Parameters
+ "RCL.INSTALL.CONFIG.RECOLLCONF.TERMS"></a>6.4.2.2. Parameters
affecting how we generate terms</h4>
</div>
</div>
@@ -8305,7 +8407,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.STORE" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.STORE"></a>5.4.2.3. Parameters
+ "RCL.INSTALL.CONFIG.RECOLLCONF.STORE"></a>6.4.2.3. Parameters
affecting where and how we store things</h4>
</div>
</div>
@@ -8460,7 +8562,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.PERFS" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.PERFS"></a>5.4.2.4. Parameters
+ "RCL.INSTALL.CONFIG.RECOLLCONF.PERFS"></a>6.4.2.4. Parameters
affecting indexing performance and resource
usage</h4>
</div>
@@ -8561,7 +8663,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.MISC" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.MISC"></a>5.4.2.5. Miscellaneous
+ "RCL.INSTALL.CONFIG.RECOLLCONF.MISC"></a>6.4.2.5. Miscellaneous
parameters</h4>
</div>
</div>
@@ -8611,6 +8713,39 @@
<p>Override logfilename for the indexer in real
time mode. The default is to use the idx...
values if set, else the log... values.</p>
+ </dd>
+ <dt><a name=
+ "RCL.INSTALL.CONFIG.RECOLLCONF.ORGIDXCONFDIR" id=
+ "RCL.INSTALL.CONFIG.RECOLLCONF.ORGIDXCONFDIR"></a><span class="term"><code class="varname">orgidxconfdir</code></span></dt>
+ <dd>
+ <p>Original location of the configuration
+ directory. This is used exclusively for movable
+ datasets. Locating the configuration directory
+ inside the directory tree makes it possible to
+ provide automatic query time path translations
+ once the data set has moved (for example, because
+ it has been mounted on another location).</p>
+ </dd>
+ <dt><a name=
+ "RCL.INSTALL.CONFIG.RECOLLCONF.CURIDXCONFDIR" id=
+ "RCL.INSTALL.CONFIG.RECOLLCONF.CURIDXCONFDIR"></a><span class="term"><code class="varname">curidxconfdir</code></span></dt>
+ <dd>
+ <p>Current location of the configuration
+ directory. Complement orgidxconfdir for movable
+ datasets. This should be used if the
+ configuration directory has been copied from the
+ dataset to another location, either because the
+ dataset is readonly and an r/w copy is desired,
+ or for performance reasons. This records the
+ original moved location before copy, to allow
+ path translation computations. For example if a
+ dataset originally indexed as
+ '/home/me/mydata/config' has been mounted to
+ '/media/me/mydata', and the GUI is running from a
+ copied configuration, orgidxconfdir would be
+ '/home/me/mydata/config', and curidxconfdir (as
+ set in the copied configuration) would be
+ '/media/me/mydata/config'.</p>
</dd>
<dt><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.IDXRUNDIR" id=
@@ -8794,7 +8929,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.QUERY" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.QUERY"></a>5.4.2.6. Query-time
+ "RCL.INSTALL.CONFIG.RECOLLCONF.QUERY"></a>6.4.2.6. Query-time
parameters (no impact on the index)</h4>
</div>
</div>
@@ -8869,7 +9004,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.PDF" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.PDF"></a>5.4.2.7. Parameters
+ "RCL.INSTALL.CONFIG.RECOLLCONF.PDF"></a>6.4.2.7. Parameters
for the PDF input script</h4>
</div>
</div>
@@ -8930,7 +9065,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.RECOLLCONF.SPECLOCATIONS" id=
- "RCL.INSTALL.CONFIG.RECOLLCONF.SPECLOCATIONS"></a>5.4.2.8. Parameters
+ "RCL.INSTALL.CONFIG.RECOLLCONF.SPECLOCATIONS"></a>6.4.2.8. Parameters
set for specific locations</h4>
</div>
</div>
@@ -8955,7 +9090,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.FIELDS" id=
- "RCL.INSTALL.CONFIG.FIELDS"></a>5.4.3. The
+ "RCL.INSTALL.CONFIG.FIELDS"></a>6.4.3. The
fields file</h3>
</div>
</div>
@@ -9029,30 +9164,30 @@
and only the first occurrence will be used for headers
that occur several times).</p>
<pre class="programlisting">[prefixes]
-# Index mailmytag contents (with the given prefix)
-mailmytag = XMTAG
+ # Index mailmytag contents (with the given prefix)
+ mailmytag = XMTAG
-[stored]
-# Store mailmytag inside the document data record (so that it can be
-# displayed - as %(mailmytag) - in result lists).
-mailmytag =
+ [stored]
+ # Store mailmytag inside the document data record (so that it can be
+ # displayed - as %(mailmytag) - in result lists).
+ mailmytag =
-[queryaliases]
-filename = fn
-containerfilename = cfn
+ [queryaliases]
+ filename = fn
+ containerfilename = cfn
-[mail]
-# Extract the X-My-Tag mail header, and use it internally with the
-# mailmytag field name
-x-my-tag = mailmytag
-</pre>
+ [mail]
+ # Extract the X-My-Tag mail header, and use it internally with the
+ # mailmytag field name
+ x-my-tag = mailmytag
+ </pre>
<div class="sect3">
<div class="titlepage">
<div>
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.FIELDS.XATTR" id=
- "RCL.INSTALL.CONFIG.FIELDS.XATTR"></a>5.4.3.1. Extended
+ "RCL.INSTALL.CONFIG.FIELDS.XATTR"></a>6.4.3.1. Extended
attributes in the fields file</h4>
</div>
</div>
@@ -9078,7 +9213,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.MIMEMAP" id=
- "RCL.INSTALL.CONFIG.MIMEMAP"></a>5.4.4. The
+ "RCL.INSTALL.CONFIG.MIMEMAP"></a>6.4.4. The
mimemap file</h3>
</div>
</div>
@@ -9107,7 +9242,7 @@
located in one place. Example:</p>
<pre class="programlisting">
[~/.kde/share/apps/okular/docdata]
-.xml = application/x-okular-notes</pre>
+ .xml = application/x-okular-notes</pre>
<p>The <code class="varname">recoll_noindex</code>
<code class="filename">mimemap</code> variable has been
moved to <code class="filename">recoll.conf</code> and
@@ -9127,7 +9262,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.MIMECONF" id=
- "RCL.INSTALL.CONFIG.MIMECONF"></a>5.4.5. The
+ "RCL.INSTALL.CONFIG.MIMECONF"></a>6.4.5. The
mimeconf file</h3>
</div>
</div>
@@ -9154,7 +9289,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.MIMEVIEW" id=
- "RCL.INSTALL.CONFIG.MIMEVIEW"></a>5.4.6. The
+ "RCL.INSTALL.CONFIG.MIMEVIEW"></a>6.4.6. The
mimeview file</h3>
</div>
</div>
@@ -9274,7 +9409,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.PTRANS" id=
- "RCL.INSTALL.CONFIG.PTRANS"></a>5.4.7. The
+ "RCL.INSTALL.CONFIG.PTRANS"></a>6.4.7. The
<code class="filename">ptrans</code> file</h3>
</div>
</div>
@@ -9305,7 +9440,7 @@
<div>
<h3 class="title"><a name=
"RCL.INSTALL.CONFIG.EXAMPLES" id=
- "RCL.INSTALL.CONFIG.EXAMPLES"></a>5.4.8. Examples
+ "RCL.INSTALL.CONFIG.EXAMPLES"></a>6.4.8. Examples
of configuration adjustments</h3>
</div>
</div>
@@ -9316,7 +9451,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.EXAMPLES.ADDVIEW" id=
- "RCL.INSTALL.CONFIG.EXAMPLES.ADDVIEW"></a>5.4.8.1. Adding
+ "RCL.INSTALL.CONFIG.EXAMPLES.ADDVIEW"></a>6.4.8.1. Adding
an external viewer for an non-indexed type</h4>
</div>
</div>
@@ -9341,8 +9476,8 @@
"filename">~/.recoll/mimemap</code>), add the
following line:</p>
<pre class="programlisting">
-.blob = application/x-blobapp
-</pre>
+ .blob = application/x-blobapp
+ </pre>
<p>Note that the MIME type is made up here, and
you could call it <em class=
"replaceable"><code>diesel/oil</code></em> just
@@ -9354,8 +9489,8 @@
the <code class="literal">[view]</code> section,
add:</p>
<pre class="programlisting">
-application/x-blobapp = blobviewer %f
-</pre>
+ application/x-blobapp = blobviewer %f
+ </pre>
<p>We are supposing that <em class=
"replaceable"><code>blobviewer</code></em> wants
a file name parameter here, you would use
@@ -9379,7 +9514,7 @@
<div>
<h4 class="title"><a name=
"RCL.INSTALL.CONFIG.EXAMPLES.ADDINDEX" id=
- "RCL.INSTALL.CONFIG.EXAMPLES.ADDINDEX"></a>5.4.8.2. Adding
+ "RCL.INSTALL.CONFIG.EXAMPLES.ADDINDEX"></a>6.4.8.2. Adding
indexing support for a new file type</h4>
</div>
</div>
@@ -9402,8 +9537,8 @@
<em class="replaceable"><code>rclblob</code></em>
indexing script later):</p>
<pre class="programlisting">
-application/x-blobapp = exec rclblob
-</pre>
+ application/x-blobapp = exec rclblob
+ </pre>
</li>
<li class="listitem">
<p>Under the <code class="literal">[icons]</code>
@@ -9431,7 +9566,7 @@
text or html contents on the standard output.</p>
<p>The <a class="link" href="#RCL.PROGRAM.FILTERS"
title=
- "4.1. Writing a document input handler">filter
+ "5.1. Writing a document input handler">filter
programming</a> section describes in more detail how to
write an input handler.</p>
</div>