Copyright © 2005-2019 Jean-Francois Dockes
根据GNU自由文档许可版本1.3或自由软件基金会发布的任何更高版本,授予复制,分发和/或修改本文档的权限; 没有不变的部分,没有前封面文字,也没有后封面文字。 许可证的副本可在以下位置找到: GNU 网址.
本文档介绍了全文搜索概念,并介绍了该搜索引擎的安装和使用 文本内容搜索工具 应用. 此版本描述 Recoll 1.25.
目录
ptrans
文件本文档介绍了全文搜索概念和 介绍了如何安装和使用 Recoll 应用。 它更新为 文本内容搜索工具 1.25.
文本内容搜索工具 长期以来一直致力于类似Unix的系统。 直到最近(2015年)才移植到 MS-Windows.
本手册中的许多参考文献,特别是文件位置,是特定于Unix的,不适用于 Windows,其中某些描述的功能也不可用。 本手册将逐步更新。 在此之前在
Windows, most references to shared files
can be translated by looking under the Recoll installation
directory (esp. the Share
通过在Recoll安装目录(尤其是Share子目录)下查看,可以翻译大多数对共享文件的引用。 默认情况下,用户配置与索引本身一起存储在用户目录内的AppData/Local/Recoll
下。
如果您不喜欢阅读手册(谁做了?),但想尝试使用文本内容搜索工具 ,只需安装应用程序并启动recoll图形用户界面(GUI),它会要求您索引主目录,从而使您可以立即搜索 索引完成后。 如果您的主目录包含大量文档,并且您不想等待或磁盘空间很短,请不要执行此操作。 在这种情况下,您可能首先要自定义配置以限制索引区域(快捷方式:从recoll GUI转到: → ,然后调整“顶级目录”部分)。在类似Unix的系统上,您可能需要为需要它们的文档类型安装适当的支持应用程序(例如Microsoft Word文件的反词)。 Windows的Recoll软件包是独立的,包括最有用的辅助程序。
文本内容搜索工具是一个全文搜索应用程序,这意味着它是按内容而不是外部属性(例如文件名)查找数据的。您指定要在文字中出现或不应该出现的单词(术语),然后返回匹配文档列表,并按顺序排列,以便最相关的文档首先出现。 您无需记住您将给定信息存储在哪个文件或电子邮件中。您只需要输入相关术语,该工具就会以类似于Internet搜索引擎的方式返回这些术语突出显示的文档列表。 全文搜索应用程序尝试确定哪些文档与您提供的搜索词最相关。用于确定相关性的计算机算法可能非常复杂,并且通常不如人脑快速确定相关性的能力。在评估搜索应用程序时,相关性猜测的质量可能是最重要的方面。 文本内容搜索工具依靠Xapian概率信息检索库来确定相关性。 在许多情况下,您正在寻找单词的所有形式,包括复数形式,动词的不同时态或源自相同根或词干的术语(例如:floor,floor,floor,floor ...)。查询通常会自动扩展为所有此类相关术语(缩小为同一词干的词)。可以防止搜索特定表格。 词干本身不适合拼写错误或语音搜索。全文搜索应用程序也可能支持这种近似形式。例如,搜索不返回任何结果的替代词可能会建议使用头韵,替代,替代或替代作为替代词。 文本内容搜索工具的建议基于实际索引内容,因此可以针对标准词典中不会出现的单词提供建议。
文本内容搜索工具使用Xapian信息检索库作为其存储和检索引擎。 Xapian是使用成熟的概率排名模型的非常成熟的软件包。
Xapian库管理一个索引数据库,该索引数据库描述了术语在文档文件中出现的位置。它有效地处理了由文本内容搜索工具查询扩展机制产生的复杂查询,并负责所有重要的相关性计算任务。
文本内容搜索工具提供了使数据进出索引的机制和接口。这包括将许多可能的文档格式转换为纯文本,处理术语变体(使用Xapian词干分析器)和拼写近似(使用aspell拼写器),解释用户查询并显示结果。
用更短的方式,文本内容搜索工具完成了肮脏的工作,Xapian处理了流程中的智能部分。
Xapian索引可以很大(大约是原始文档集的大小),但是它不是文档档案。 文本内容搜索工具只能显示仍在索引位置的文档。
文本内容搜索工具以Unicode UTF-8格式存储所有内部数据,它可以将具有不同字符集,编码和语言的许多类型的文件编入同一索引。它可以处理嵌入到其他文档中的文档(例如,存储在以电子邮件附件形式发送的Zip存档中的PDF文档...),深度可达任意深度。
词干处理是文本内容搜索工具将单词还原为其部首的过程,因此搜索不依赖于单词是单数还是复数(地板,地板)或动词时态(地板,地板)。因为用于词干的机制取决于每种语言的特定语法规则,所以对于大多数有意义的词干存在一个单独的Xapian词干模块。
文本内容搜索工具将主词的未梗塞版本存储在主索引中,并使用辅助数据库来扩展词条(每种词干语言对应一个),这意味着您可以在搜索之间切换词干语言,也可以添加语言而无需完全重新编制索引。
以相同的索引存储用不同语言编写的文档是可能的,并且通常可以这样做。在这种情况下,您可以为索引指定几种衍生语言。
文本内容搜索工具目前不尝试自动语言识别,这意味着该词干提取器有时会应用于其他语言的术语,结果可能会产生奇怪的结果。实际上,即使这会带来混乱的可能性,这种方法也已被证明是非常有用的,并且比根据文档使用的语言分隔文档要麻烦得多。
默认情况下,文本内容搜索工具会从术语中去除大多数重音符号和变音符号,并将它们转换为小写,然后再将它们存储在索引中或进行搜索。结果,不可能搜索一个术语的大写字母(美国/美国),或者基于变音符号(清酒/佐久,配偶/物质)来区分两个术语。
文本内容搜索工具可以选择存储原始术语,而无需重音剥离或大小写转换。在这种配置下,默认搜索将像以前一样进行,但是可以执行对大小写和变音符号敏感的搜索。有关索引大小写和变音符号敏感性的部分将对此进行详细描述。
文本内容搜索工具使用许多参数来精确定义要索引的内容以及如何对源文档进行分类和解码。这些都保存在配置文件中。在安装过程中,会将默认配置复制到标准位置(通常类似于/ usr / share / recoll / examples)。此目录中的配置文件设置的默认值可能会被您的个人配置中设置的值覆盖。使用默认配置,文本内容搜索工具将使用通用参数索引您的主目录。可以通过编辑文本文件或使用recoll GUI中的配置菜单来自定义配置。
首次执行recoll GUI时,索引过程将自动启动(在征得许可后)。也可以通过执行recollindex命令来执行索引。当适当的硬件资源可用时,默认情况下,文本内容搜索工具索引是多线程的,并且可以并行执行多项任务以进行文本提取,分段和索引更新
搜索通常在recoll GUI中执行,该GUI具有许多选项来帮助您找到所需的内容。但是,还有其他查询索引的方法:
索引编制是分析文档集并将数据输入数据库的过程。 Recoll索引编制通常是增量编制的:只有自上次运行以来对文档进行了修改,才会对其进行处理。第一次执行时,所有文档都需要处理。以后可以通过为索引命令指定一个选项(recollindex -z或-Z)来强制进行完全索引构建。
recollindex会跳过在上一次传递过程中导致错误的文件。这是一项性能优化,并且是1.21版中的一项新行为(始终通过以前的版本重试失败的文件)。可以将命令行选项-k设置为重试失败的文件,例如在更新输入处理程序之后。
以下各节概述了索引过程和配置的不同方面,并提供了指向详细部分的链接。
根据您的数据,在索引编制过程中可能需要临时文件,其中一些可能会很大。您可以使用RECOLL_TMPDIR或TMPDIR环境变量来确定它们的创建位置(默认为使用/ tmp)。使用TMPDIR具有很好的属性,recollindex执行的辅助命令也可以考虑使用它。
文本内容搜索工具索引可以通过两种主要模式执行:
定期(或批量)索引 . recollindex 在不连续的时间执行 . Unix-像系统一样,通常的用法是每晚运行 programmed 写入到你的 定时 文件. 在 Windows, 这是唯一可用的模式,索引器通常是从GUI启动的(但是没有阻止它从命令脚本启动的方式)。
实时索引 . (仅在类似Unix的系统上可用)。 recollindex永久作为守护程序运行,并使用文件系统变更监视器(例如inotify))来检测文件更改。 新文件或更新文件立即被索引。 监视大文件系统树会消耗大量系统资源。
两种方法之间的选择主要是 优先事项,可以将它们组合在一起 设置多个索引(即:使用定期索引 在大型文档目录上,并且实时 在小型主目录上建立索引) 文本内容搜索工具 1.24和更新版本, 通过 配置索引,以便仅监视树的子集。
方法的选择和使用的参数可以从 文本内容搜索工具 GUI: →
文本内容搜索工具支持定义多个索引,每个索引由其自己的配置目录定义。配置目录包含几个文件,这些文件描述了应建立索引的内容以及如何建立索引。
首次执行recoll或recollindex时,它将创建一个默认配置目录。当未指定特定配置时,此配置是用于索引和查询的配置。对于类似Unix的系统,它位于$ HOME / .recoll /中;对于Windows,它位于%LOCALAPPDATA%\ Recoll(通常为C:\ Users \ [me] \ Appdata \ Local \ Recoll)中。
所有配置参数都有默认值,在系统范围的文件中定义。无需进一步定制,默认配置将处理您的完整主目录,并带有一组合理的默认值。可以对其进行调整,以处理文件系统的不同区域,以不同方式选择文件以及许多其他事情。
在某些情况下,创建其他配置目录可能很有用,例如,将个人索引和共享索引分开,或者利用数据的组织结构来提高搜索精度。
为此,您将在您选择的位置创建一个空目录,然后通过设置命令行选项(-c / some / directory)或环境变量(RECOLL_CONFDIR)来指示recoll或recollindex使用它= / some / directory)。该命令执行的任何修改(例如配置自定义或通过recoll搜索或通过recollindex创建索引)都将应用于新目录而不是默认目录。
创建多个索引后,可以通过在启动命令时设置-c选项或RECOLL_CONFDIR环境变量来分别使用每个索引,以选择所需的索引。
通过使用recoll GUI中的“外部索引”功能或命令行和编程工具中的某些其他功能,还可以指示一种配置除查询其自身索引外还查询一个或几个其他索引。
多索引功能的一种合理使用方案是系统管理员为共享数据设置一个中央索引,您可以选择除个人数据之外还选择是否搜索共享数据。当然,还有其他可能性。例如,在许多情况下,您知道应该搜索的文件子集,并且缩小搜索范围可以改善结果。在高级搜索中,您可以使用目录过滤器获得大致相同的效果,但是多个索引可能具有更好的性能,并且在某些情况下可能会遇到麻烦。
一个更高级的用例是通过并行更新多个索引(使用多个CPU内核和磁盘或可能的多个计算机),然后合并它们,或并行查询,来使用多个索引来提高索引性能。
请参阅有关 配置多个索引 的部分以获取更多详细信息
文本内容搜索工具知道许多不同的文档类型。用于文档类型识别和处理的参数在配置文件 中设置。
大多数文件类型(例如HTML或文字处理文件)仅包含一个文档。某些文件类型,例如电子邮件文件夹或zip存档,可以容纳许多单独索引的文档,这些文档本身可能是复合文件。这样的层次结构可能会变得很深,Recoll可以处理例如作为电子邮件附件存储的LibreOffice文档,该文档位于以zip文件存档的电子邮件文件夹内。
recollindex在内部处理纯文本,HTML,OpenDocument(Open / LibreOffice),电子邮件格式以及其他一些格式。
其他文件类型(例如:postscript,pdf,ms-word,rtf等)需要外部应用程序进行预处理。该列表在安装部分中。每次索引操作之后,Recoll都会更新为现有文件类型建立索引所需的命令列表。可以通过在recoll GUI中选择菜单选项文件→显示缺少的助手来显示此列表。它存储在配置目录内缺少的文本文件中。
默认情况下,Recoll将尝试索引它可以读取的任何文件类型。有时这是不希望的,并且有一些方法可以排除某些类型,或者相反地定义要索引的类型的肯定列表。在后一种情况下,列表中未包含的任何类型都将被忽略。
通过将通配符名称模式添加到skippedNames列表中,可以按名称排除文件,这可以从GUI索引配置菜单中完成。通过设置配置文件(1.20及更高版本)中的excludedmimetypes列表,可以按类型进行排除。可以为子目录重新定义。
您还可以通过设置indexedmimetypes配置变量来定义要索引的MIME类型的排他性列表(不会索引其他任何类型)。例:
文本内容搜索工具 知道
indexedmimetypes = text/html application/pdf
可以重新定义此参数用于 子目录。 例:
[/path/to/my/dir] indexedmimetypes = application/pdf
(使用此类节时,请不要忘记它们一直有效,直到文件末尾或另一个节指示器为止)。
excludedmimetypes
或者
indexedmimetypes
, 可以通过编辑
配置文件(recoll.conf
) 用于索引,或按
使用GUI索引配置工具。
当编辑indexedmimetypes
或者 excludedmimetypes
列表, 你应该
使用列在其中的MIME值mimemap
文件或在Recoll结果中
优先于列出
file
-i
输出:存在许多差异。
file -i
输出应该
仅用于没有扩展名的文件,或用于
该扩展名未列出
mimemap
某些文档可能无法建立索引,因为 原因:一个帮助程序可能丢失,该文档 可能已损坏,我们可能无法解压缩文件,因为 没有可用的文件系统空间,等等。
文本内容搜索工具 先前版本 到1.21总是重试索引文件 以前引起了错误。这保证了任何事情 可能已成为可索引的(例如,因为 助手已安装)将被索引。但是这个 对性能不利,因为某些索引失败 可能会非常昂贵(例如无法解压缩 大文件(因为磁盘空间不足)。
索引器在文本内容搜索工具
版本1.21和更高版本不会重试失败的文件
默认。仅在显式选项下才会重试
(-k
)设置在
recollindex
命令行,或者脚本何时执行 recollindex 启动
这样说。该脚本由配置定义
可变性
(checkneedretryindexscript
), 然后做一个
相当la脚的尝试来决定辅助命令是否可以
通过检查是否有任何常见的安装
bin
目录有
改变了。
在极少数情况下索引损坏
(可以通过奇怪的搜索结果来表明自己,或者
崩溃),则需要先删除索引文件
重新启动干净的索引传递。只需删除
xapiandb
目录(请参阅
下一节), 要么,
或者,开始下一个
recollindex 与
-z
它将重置
索引之前的数据库。 两者之间的区别
两种方法是第二种不会改变
当前的索引格式,如果是较新的索引格式
格式受
Xapian 版本.
The default location for the index data is the
xapiandb
subdirectory of the
Recoll configuration
directory, typically $HOME/.recoll/xapiandb/
. This can be
changed via two different methods (with different
purposes):
索引数据的默认位置是
xapiandb
子目录
Recoll 配置
目录,通常 $ HOME / .recoll / xapiandb /
。 这可以是
通过两种不同的方法(具有不同的
目的):
对于给定的配置目录,您可以
指定索引的非默认存储位置
通过设置 dbdir
配置文件(看
配置部分)中的参数此方法主要
如果您想保留配置,可以使用
目录位于其默认位置,但需要
索引的另一个位置,通常不在磁盘上
职业或绩效问题。
您可以指定其他配置
通过设置 RECOLL_CONFDIR
环境变量,
或使用 -c
选项
Recoll 命令。
此方法通常用于索引
文件系统的不同区域要不同
索引。例如,如果您要发布
以下命令:
recoll -c 〜/.indexes-email
然后 Recoll 将
使用存储在〜/.indexes-email /
和(除非
在 recoll.conf
)将查找
〜/.indexes-email / xapiandb /
。
使用多个配置目录和 配置选项 让你 多种配置和索引来处理 您希望使用的任何可用数据子集 使其可搜索。
索引的大小由索引的大小决定 套文件,但比例可能相差很大。为一个 典型的混合文档集,索引大小通常 接近数据集大小。在特定情况下(一组 例如压缩的mbox文件),索引可以变成 比文件大得多。它也可能小得多 如果文档包含很多图像或其他 非索引数据(一个极端示例是一组mp3 只会索引标签的文件)。
当然,图像,声音和视频不会增加 索引大小,这意味着在大多数情况下,已使用的空间 按指数计算,可忽略不计 计算机上的数据。
索引数据目录( xapiandb
)仅包含可以
通过索引运行完全重建(只要原始
文档存在),并且始终可以将其销毁
安全地
Xapian 版本 通常支持几种格式的索引存储。一种 给定主要 Xapian 版本将具有当前格式,用于创建新 索引,并且还将支持来自 以前的主要版本。
Xapian 不会
自动转换旧版本的现有索引
格式化为较新的格式。如果要升级到
新格式,或者如果非常旧的索引需要转换
由于不再支持其格式,您将
必须明确删除旧索引(通常是
〜/ .recoll / xapiandb
),然后
运行正常的索引命令。使用 重新排序索引 选项
-z
在此不起作用
情况。
Recoll 索引确实 不保存索引文件的完整副本(它 在1.24版之后几乎可以做到)。 但它确实足够 数据以进行几乎完整的重建。 如果 机密数据已建立索引,可访问数据库 目录应受到限制。
Recoll 将创建 配置目录的模式为0700(访问 仅限所有者)。 由于索引数据目录默认为 配置目录的子目录 应该得到适当的保护。
如果您使用其他设置,则应考虑那种
索引所需的保护,设置目录
和文件访问模式适当,也许
调整在使用过程中使用的 umask
索引更新。
仅当索引要 大于约5 GB。 超过10 GB 成为一个严重的问题。 大多数人的身材要小得多 索引。 供参考,5 GB大约为2000 圣经,很多文字。 如果您有庞大的文本数据集 (请记住:图片不计算在内,PDF的文本内容 通常小于文件大小的5%),请继续阅读。
Xapian在索引期间执行的书写量 创建与索引大小不是线性的(它是 介于线性和二次之间)。 对于大索引 这成为性能问题,甚至可能是SSD 磁盘磨损问题。
可以通过观察 以下规则:
对数据集进行分区并创建几个 合理大小的索引,而不是庞大的索引。 然后可以并行查询这些索引 (使用 Recoll 外部索引工具),或使用 xapian紧凑型 。
li>有很多可用的RAM并设置
idxflushmb
Recoll
配置参数尽可能地高
交换(需要进行实验)。 200
在这种情况下将是最小值。
使用Xapian 1.4.10或更高版本,因为此版本 带来了显着的改善 写。
li> ul> div>在内部设置的变量文本内容搜索工具 配置文件 控制 索引文件系统的哪些区域,以及如何文件 被处理。 这些变量可以通过编辑来设置 文本文件或使用 对话框中 recoll GUI.
第一次启动 recoll ,系统会要求您
是否要建立索引。 如果你
想要在索引编制之前调整配置,只是
点击取消,
这将带您进入配置界面。 如果你
此时退出, recoll
将使用以下命令创建一个默认配置目录
空的配置文件,您可以随后对其进行编辑。
该配置记录在 安装章节 本文档的 recoll.conf(5) 手册 这两个文档都是从 配置文件中的注释。 p>
最直接有用的变量可能是
topdirs
, 列出子树和
要建立索引的文件。 p>
索引文件类型以外的其他应用程序 文字,HTML或电子邮件(即pdf,postscript,ms-word ...) 在 外部包部分 .
从Recoll 1.18开始,有两种不兼容的类型 Recoll索引,取决于字符的处理方式 案例和变音符号。进一步 部分 详细描述了这两种类型。
多个 Recoll 索引可以通过使用几种配置来创建 通常设置为索引不同的目录 文件系统的区域。
可以通过设置
RECOLL_CONFDIR
环境
变量或提供-c
选项 recoll 和 重新排序索引 。
recollindex 程序, 用于创建或更新索引,始终适用于 单一索引。完全不同的配置 独立的(之间没有参数共享 索引时进行配置)。
所有搜索界面( recoll , recollq ,Python API等)使用主要配置进行操作, 使用配置和索引数据,也可以 从多个其他索引中查询数据。只有 使用来自后者的索引数据,它们的配置 参数将被忽略。这意味着一些参数 在以下索引配置之间应该保持一致 一起使用。
搜索时,当前主索引(由
RECOLL_CONFDIR
或-c
)始终处于活动状态。如果这是
不受欢迎的是,您可以将基本配置设置为
索引一个空目录。
索引配置参数可以通过以下方式设置
在文件上使用文本编辑器,或者大多数情况下
参数,方法是使用 recoll 索引
配置GUI 。 在后一种情况下,
修改参数的配置目录
是由 RECOLL_CONFDIR
或-c
参数,则无法
在GUI中切换配置。
看 配置部分,以详细描述 参数
某些配置参数之间必须保持一致 一组多个索引一起用于搜索。 最重要的是,所有要同时查询的索引 关于字符大小写必须具有相同的选项,并且 变音符号剥离,但还有其他限制。 大多数相关参数会影响 项生成.
使用多种配置意味着级别较低 命令行或文件管理器用法。 用户必须 明确创建其他配置目录, GUI将不会执行此操作。 这是为了避免错误 当参数为时创建其他目录 输入错误。 另外,必须启动GUI或索引器 有特定的选择或环境 正确的配置。
最初创建配置和索引:
mkdir /path/to/my/new/config
可以从
recoll
GUI,从命令行启动以传递
-c
选项(您可以
创建一个桌面文件来为您做),然后使用
的 图形用户界面
索引配置工具 设置索引。
recoll -c /path/to/my/new/config
另外,您只需在以下位置启动文本编辑器 主要配置文件:
someEditor
/path/to/my/new/config
/recoll.conf
创建和更新索引可以从 命令行:
recollindex -c /path/to/my/new/config
或使用以下命令启动的GUI的“文件”菜单中 相同的选项( recoll ,请参见 以上)。
同一GUI也可以让您设置批处理
为新索引建立索引。 实时索引只能
从GUI设置默认索引(菜单
如果GUI以
非默认-c
选项)。
可以单独查询新索引
recoll -c /path/to/my/new/config
或者,与默认索引并行,通过启动
recoll
没有-c
选项,并且
使用首选项→
外部索引对话框
菜单。
从 Recoll 版本开始
1.18您可以选择使用条款建立索引
剥去了字符案例和变音符号,或者带有
原始条款。 对于简历
,前者将存储
简历
,后者
简历
。
每种索引类型均允许执行搜索 不区分大小写和变音符号:使用原始索引, 用户条目将被扩展以匹配所有大小写和 变音符号出现在索引中。 用 去除索引,搜索词将在去除之前 搜索。
原始索引允许使用案例和变音符号来
区分字词,例如返回不同
搜索时的结果 US
and us
or resume
and résumé
. 阅读 部分
关于搜索案例和变音符号的敏感性 更多
细节。
要创建的索引类型由
indexStripChars
只能通过以下方式更改的配置变量
编辑配置文件。任何变化都意味着
索引重置(不是由 Recoll ),以及搜索中的所有索引
必须以相同的方式进行设置(再次,不要通过
Recoll )。
Recoll 创建一个
如果 indexStripChars
未设置。
作为增加功能的成本,原始索引为 略大于剥离的(约10%)。也, 搜索将更加复杂,因此可能会稍微 速度较慢,并且该功能的使用相对较少,因此 一定数量的怪异不能 排除。
使用原始的最不利后果之一 索引是某些短语和邻近搜索可能 变得不可能:因为每个术语都必须 展开,并搜索所有组合 乘法扩展可能变得难以管理。
Recoll 索引 流程 recollindex 可以使用 多线程以加速多处理器上的索引 系统。索引文件所做的工作分为 几个阶段,其中一些阶段可以由 多线程。这些阶段是:
文件系统遍历:这总是由 主线程。
文件转换和数据提取。
文本处理(拆分,词干提取等)。
Xapian 索引 更新。
您也可以阅读较长的文件 有关 改造 Recoll 索引到多线程。
线程配置由两个控制 配置文件参数。
thrQSizes
此变量定义作业输入队列 组态。 存在三个可能的队列 第2、3和4阶段,此参数应为 每个阶段的队列深度(三个整数 值)。 如果给定值使用-1 阶段,不使用队列,线程将继续 执行下一个阶段。 实际上,排长队 尚未显示可提高性能。 一种 第一个队列的值为0表示 Recoll 执行 自动配置(不需要任何其他 在这种情况下,不使用thrTCounts)-这是 默认配置。
thrTCounts
这定义了每个线程使用的线程数 阶段。 如果将-1的值用于 队列深度,相应的线程数为 忽略了。 使用其他值没有意义 比最后一个阶段多1,因为更新了 Xapian 索引为 一定是单线程的(并受一个 互斥体)。
如果 thrQSizes
为0, thrTCounts
被忽略。
以下示例将使用三个队列(深度 2)和4个用于转换源文档的线程,2个用于 处理他们的文本,然后更新索引。 这个 经过测试是测试中的最佳配置 系统(具有多个磁盘的四核处理器)。
thrQSizes = 2 2 2 thrTCounts = 4 2 1
以下示例将使用一个队列,并且 每个文档的完整处理将是 由一个线程执行(多个文档将 在大多数情况下仍然可以并行处理)。 的 输入索引时线程将使用互斥 更新阶段。 实际上,性能将接近 总体上与先例相比,但在某些情况下更糟 案例(例如,Zip存档将完全由 顺序),因此首选以前的方法。 YMMV ... thrTCounts的最后2个值将被忽略。
thrQSizes = 2 -1 -1 thrTCounts = 6 1 1
以下示例将禁用多线程。 索引将由单个线程执行。
thrQSizes = -1 -1 -1
给定索引配置的大多数参数可以是
从 recoll GUI运行在
此配置(默认设置或通过设置
RECOLL_CONFDIR
或
-c
选项。)
该接口从首选项 span>→索引配置菜单项。它 分为四个标签,全局 参数 span>,本地 参数 span>,网络 历史记录(将在下一部分中进行说明) 和搜索参数。
全局参数 标签可以设置全局变量,例如 顶级目录,跳过的路径或词干 语言。
本地参数标签 允许设置可以重新定义的变量 子目录。第二个标签最初是空白的 您可以添加到其中的定制目录列表。 然后为当前选定的变量设置变量 目录(如果空行是 选择)。
搜索参数 部分定义了在查询时使用的参数, 但对于索引而言是全局的,并且会影响所有搜索工具, 不仅是GUI。
界面中大多数条目的含义是
不言而喻并由工具提示
弹出窗口。 对于
更详细的信息,您需要参考组态
部分 指南。
配置工具通常会尊重注释 以及配置文件中的大多数格式, 因此很有可能在手工编辑时使用它 文件,但是您可能仍要备份 首先...
文本内容搜索工具 曾经没有 支持索引可移动卷(便携式磁盘,USB 键等)。 最新版本改善了这种情况 并支持索引两个不同的可移动卷 方法:
通过索引主索引,固定索引, 并确保在以下情况下不清除卷数据 在装入卷时运行索引。 ( Recoll 1.25.2)。
通过在卷本身上存储卷索引 ( Recoll 1.24)。
从1.25.2版开始, Recoll 提供了一种简单的方法 确保缺少卷的索引数据不会 被清除。必须满足两个条件:
卷安装点必须是
topdirs
列表。
mount目录必须为空(当 卷未安装)。
li> ul> div>如果 recollindex < span>发现
topdirs
之一为空
启动时,该树的任何现有数据将是
由索引传递保留(对此不清除)
区域)。
从 Recoll 1.24开始, 建立独立的数据集成为可能 包括 Recoll 配置目录和索引以及 索引文档,并在( 例如将其复制到USB驱动器),而无需 调整查询索引的配置。
这只是一个查询时间功能。索引必须 仅在其原始位置进行更新。如果有更新 必须在其他位置,索引必须为 重置。
操作原理是配置 存储原始配置的位置 目录,该目录必须位于可移动卷上。如果 该卷后来被安装在其他地方, Recoll 调整存储的路径 里面的索引由原来的差异 和配置目录的当前位置。
长话短说,下面是一个脚本 创建一个 Recoll 给定目录下的配置和索引(给定为 单个参数)。结果数据集(文件+ recoll 目录),以后可以移至CDROM或Thumb 驾驶。脚本后有更多解释。
#!/bin/sh fatal() { echo $*;exit 1 } usage() { fatal "Usage: init-recoll-volume.sh <top-directory>" } test $# = 1 || usage topdir=$1 test -d "$topdir" || fatal $topdir should be a directory confdir="$topdir/recoll-config" test ! -d "$confdir" || fatal $confdir should not exist mkdir "$confdir" cd "$topdir" topdir=`pwd` cd "$confdir" confdir=`pwd` (echo topdirs = '"'$topdir'"'; \ echo orgidxconfdir = $topdir/recoll-config) > "$confdir/recoll.conf" recollindex -c "$confdir"
以下示例将假定您有一个数据集
在 / home / me / mydata /
下,
索引配置和数据存储在内部
/ home / me / mydata / recoll-confdir
。
为了能够在数据集之后运行查询 已被移动,您必须确保以下事项:
主配置文件必须定义
orgidxconfdir
变数为原本的位置
配置目录( orgidxconfdir = /home/me/mydata/recoll-confdir
必须在 /home/me/mydata/recoll-confdir/recoll.conf
在上面的示例中)。
配置目录必须与
文档,在目录下的某个位置
被移动。例如。如果您要移动 /home/me/mydata
配置目录必须存在于下面的某个位置
这一点,例如 / home/me/mydata/recoll-confdir
,
或 /home/me/mydata/sub/recoll-confdir
。
您应保留默认位置
相对于
默认情况下的配置目录(主要是
dbdir
)。只有路径
指文件本身(例如
topdirs
值)应该
是绝对的(通常,它们仅在
仍要建立索引)。
只有第一点需要明确的用户操作, Recoll 的默认值为 与第三个兼容,第二个是 自然的。
如果在移动后配置目录需要
从数据集中复制出来(例如,因为
拇指驱动器太慢),您可以设置 curidxconfdir,
复制配置中的变量以定义
移动的位置。例如,如果 /home/me/mydata
现在已安装到
/media/me/somelabel
,但
配置目录和索引已复制到
/tmp/tempconfig
,
将 curidxconfdir
设置为
/media/me/somelabel/recoll-confdir
内 /tmp/tempconfig/recoll.conf
。
orgidxconfdir
仍然是
/home/me/mydata/recoll-confdir
原件和副本。
如果您定期将配置复制到
数据集,将脚本编写为
使过程自动化。这真的无法在内部完成
Recoll 因为有
可能有许多可能的变体。一个例子是
复制配置以使其可写,但保持
在介质上索引数据,因为它太大-在此
情况下,脚本还需要设置 dbdir
。
相同的修改集( Recoll 1.24)也做到了 可以从只读配置运行查询 目录(当然,功能略有减少,例如 因为未记录查询历史记录。
借助 Firefox 扩展名, Recoll 可以索引Internet页面 您访问。该扩展名已有很长的历史: 最初是为 Beagle 索引器,然后将其修改为 Recoll 和 Firefox XUL API。插件的新版本 已被编写为与 WebExtensions API,这是唯一 Firefox 57版。 p>
该扩展程序通过将访问过的WEB页面复制到 索引队列目录,其中 Recoll 然后处理,将 数据,将其存储到本地缓存中,然后删除文件 从队列中。
因为WebExtensions API引入了更多内容
扩展功能的限制,新版本
可再执行一个步骤:首先在以下位置创建文件
浏览器的默认下载位置(通常是
$ HOME/Downloads
),然后移动
通过旧队列位置中的脚本。该脚本是
由 Recoll 索引器版本1.23.5和
较新的。可以想象它可以独立于
使新的浏览器扩展程序与旧版本兼容
Recoll 版本(脚本
被命名为 recoll-we-move-files.py )。
要使基于WebExtensions的版本正常工作,
设置 webdownloadsdir
值
配置是否已从默认值更改
$ HOME / Downloads
浏览器首选项。
已访问的WEB页面索引功能可以在
从 Recoll
GUI 索引配置
面板,或通过编辑配置文件(设置
processwebqueue
到1)。
可以找到当前扩展名的指针 最新的说明,在 Recoll Wiki 。
被索引的WEB页面的副本由Recoll保留在 本地缓存(可以从中获取预览)。的 缓存大小可以通过索引配置 / 网络历史记录面板。一次最大尺寸 到达后,将清除旧页面-从缓存和 索引-为新索引腾出空间,因此您需要 明确地将其他页面存档 想无限期地保持。
用户扩展属性被命名为信息 大多数现代文件系统都可以附加到任何文件。
Recoll span>进程 扩展属性默认为文档字段。
Freedesktop标准定义一些 特殊属性,这些属性由 Recoll:
如果设置,则此设置将覆盖对 文件的MIME类型。
如果设置,则定义文件字符集 (对纯文本文件最有用)。
默认情况下,其他属性以同名的字段。 p>
在Linux上, 可以更精确地配置名称转换
在 - 的里面 用户
前缀
从名称中删除。fields
字段配置文件.
在建立索引期间,可以为 通过执行命令每个文件。 例如,这允许 从外部应用程序中提取标签数据,以及 将其存储在字段中以进行索引。
见 关于
metadatacmds
字段 在
主要配置章节中的说明
配置语法。
例如,如果您想要 Recoll 以使用由
tmsu 在名为的字段中
标签
,
将以下内容添加到配置文件:
[/some/area/of/the/fs]
metadatacmds = ; tags
= tmsu tags %f
取决于 tmsu
版本,您可能需要/想要添加诸如
-database = /some/db
。
您可能希望将此处理限制为
目录树,因为它可能会减慢索引速度
( [某些/区域/的/ fs]
)。
注意等号后的初始分号。
在上面的示例中, tmsu 用于设置
名为 标签
的字段。
字段名称是任意的,可以是 tmsu
或 myfield
一样,但是
标签
是别名
用于标准 Recoll
关键字
字段,以及
tmsu 输出
只会增加其内容。 这样可以避免
扩展领域
配置.
一旦执行了重新索引编制(您将需要强制执行
重新索引文件, Recoll 不会通过以下方式检测到需求
本身),您将可以从查询中进行搜索
语言,通过其任何别名: 标签:一些/替代/值
或 标签:所有这些值
(
recoll 1.20支持紧凑字段搜索语法
然后。对于旧版本,您需要重复
标签:
说明符
对于每个术语,例如 标签:某些
OR
tags:alternate
)。
如果索引器无法检测到标签更改,
文件本身未更改。一种可能的解决方法是
将更新文件 ctime
当您修改标签时,这与
扩展属性的功能。一对 chmod 命令可以
完成此操作或触摸-a
。或者,只需将代码更新与
recollindex -e -i
/path/to/the/file
。
PDF格式对于科学和 技术文档和文档存档。 它有 广泛的功能,用于存储元数据以及 文档,这些功能实际上已在 现实世界。
因此, rclpdf.py
PDF输入处理程序有更多
比大多数其他功能复杂,而且功能也更多
可配置的。 具体来说, rclpdf.py
可以自动使用
tesseract 执行OCR
如果文档文本为空,则可以将其配置为
从XMP数据包中提取特定的元数据标签,并
提取PDF附件。
如果同时 tesseract 和 pdftoppm (通常来自 poppler-utils 包)是 安装后,PDF处理程序可能会尝试对PDF文件进行OCR 没有文字内容。 这是由 pdfocr 配置变量,默认情况下为false,因为 OCR非常慢。
语言的选择对于
成功的OCR。 Recoll目前无法确定
这来自文档本身。 您可以设定语言
通过。ocrpdflang
文本文件
目录作为PDF文档,或通过
RECOLL_TESSERACT_LANG
环境变量,或通过
ocrpdf
文本文件位于
配置目录。 如果以上都不使用,
Recoll 将尝试猜测
NLS环境中的语言。
其中的 rclpdf.py
脚本
Recoll 版本1.23.2
然后可以通过执行以下命令提取XMP元数据字段
pdfinfo
命令(通常在 poppler-utils )。 这是受控的
由pdfextrameta
配置变量,用于指定要添加的标签
提取以及可能如何重命名它们。
pdfextrametafix 变量可用于使用Python代码指定文件 编辑元数据字段(可用于 Recoll 1.23.3及更高版本。 1.23.2有 处理程序脚本中的等效代码)。 示例:
import sys import re class MetaFixer(object): def __init__(self): pass def metafix(self, nm, txt): if nm == 'bibtex:pages': txt = re.sub(r'--', '-', txt) elif nm == 'someothername': # do something else pass elif nm == 'stillanother': # etc. pass return txt def wrapup(self, metaheaders): pass
如果定义了“ metafix()”方法,则将其调用 每个元数据字段。 创建一个新的MetaFixer对象 对于每个PDF文档(以便对象可以保持其状态, 例如,消除重复值)。 如果 定义了“ wrapup()”方法,该方法在 XMP字段将整个元数据作为 参数,作为“(nm,val)”对的数组,允许 编辑或添加/删除的替代方法 字段。
如果 pdftk 被安装 , 并且如果 pdfattach 配置变量已设置,PDF输入处理程序将 尝试提取PDF附件以建立索引 PDF文件的子文档。 这被禁用 默认值,因为它会减慢PDF索引的速度,即使 找不到一个附件(PDF附件是 在我的经历中并不常见。
recollindex 程序
执行索引更新。您可以从
命令行或文件菜单
“ command”> recoll GUI程序。
从GUI启动时,索引编制将在
相同的配置 recoll 已启动。
从命令行启动时, recollindex 将使用
RECOLL_CONFDIR
变量或
接受-c
confdir
选项以指定
非默认配置目录。
如果 recoll 程序没有找到 索引启动时,它将自动启动 索引(除非已取消)。
GUI 文件菜单具有 开始或停止当前索引的条目 操作。
当没有索引正在运行时,您可以选择 更新索引或重建索引(首选 仅处理更改的文件,第二个将零 开始之前的索引,以便所有文件 已处理)。
在Linux上, recollindex 索引 可以通过发送中断来中断进程 ( Ctrl-C ,SIGINT)或终止 (SIGTERM)信号。
在Linux和Windows上,GUI可用于管理 索引操作。可以从以下位置停止索引器 recoll GUI 文件→停止索引菜单项。
停止后, recollindex 退出, 因为它需要正确冲洗并关闭 索引。
中断后,索引会有所变化 不一致,因为某些通常是正常的操作 在索引传递结束时执行的操作将 跳过(例如,词干和拼写数据库 将不存在或已过期)。你只需要 稍后重新启动索引以恢复一致性。 索引将在中断点( 完整文件树将被遍历,但是 索引到中断为止,并且索引针对该中断 仍是最新版本,则无需重新编制索引。
选项 -z
将重置
启动时的索引。 这几乎与
销毁索引文件(细微之处在于
Xapian 格式的版本
不会更改)。
选项-Z
将强制
在不重置索引的情况下更新所有文档
第一。 这不会具有“干净的开始”方面
-z
,但是优点是
索引将保持可查询状态
重建,如果它是一个很大的优势
非常大(某些安装需要几天的时间才能获得完整索引
重建)。
选项 -k
将强制
重试以前无法建立索引的文件
缺少帮助程序的示例。
-i
和-f
选项。 -i
允许索引
文件的显式列表(作为命令行提供)
参数或在 stdin
)。 -f
告诉 重新排序索引 忽略
配置中的文件选择参数。
这些选项一起允许构建自定义文件
文件系统某些区域的选择过程,通过
将顶层目录添加到 skippedPaths
列表并使用
适当的文件选择方法来建立文件列表
被喂入 重新排序索引
-if
。 简单的例子:
find . -name indexable.txt -print | recollindex -if
recollindex
-i
不会归入
子目录指定为参数,但只需添加它们
作为索引条目。 由外部文件选择
完整文件列表的创建方法。
最常用的建立索引的方法是
cron任务每天晚上执行一次。 例如
以下 crontab
条目
每天凌晨3:30进行(假设 recollindex 在您的
路径):
30 3 * * * recollindex > /some/tmp/dir/recolltrace 2>&1
或者,使用 anacron span>:
1 15 su mylogin -c "recollindex recollindex > /tmp/rcltraceme 2>&1"
Recoll GUI具有
用于管理 crontab
的对话框
重新排序索引 。您可以
从首选项→索引编制时间表菜单。他们只
与良好的旧 cron ,并且不要
访问 cron 调度。
编辑 crontab
是 crontab -e
(通常会启动
vi 编辑器
编辑文件)。您可能拥有更完善的工具
在系统上可用。
请注意,两者之间可能存在差异 您通常的交互式命令行环境以及 由crontab命令看到的一种。尤其是PATH 变量可能值得关注。请检查crontab 有关可能出现的问题的手册页。
通过启动执行实时监视/索引
重新排序索引 -m
命令。使用此选项, 重新排序索引 将分离
从终端并成为守护程序,永久
监视文件更改并更新索引。
在这种情况下, recoll GUI 文件菜单可进行两项操作: “停止”和“触发增量通过”。
虽然方便地对数据进行实时索引 时间,重复索引可能会给 电子邮件文件夹等文件更改时的系统。也, 单独监视大文件树会产生大量税收 系统资源。您可能不想启用它,如果 您的系统资源不足。定期索引编制为 在大多数情况下足够了。
从 Recoll 1.24开始,您 可以设置监视器目录 配置变量,以指定仅 您的索引文件将被监控以进行即时索引。 在这种情况下,完整树上的增量传递可以 通过重新启动索引器或仅 运行 重新排序索引 ,它将 通知正在运行的进程。 recoll GUI也有一个 菜单项。
在 KDE 下,
侏儒和其他一些
在桌面环境中,守护程序可以自动
通过创建桌面文件在登录时启动
在〜/ .config / autostart
目录。 这个可以
由 Recoll GUI。 使用首选项索引编制时间表
菜单。
使用较旧的 X11 安装程序,启动守护进程通常作为一部分执行 用户会话脚本。
rclmon.sh
脚本可以
用于轻松启动和停止守护程序。 有可能
在示例
中找到
目录(通常 / usr / local / [share /] recoll / examples
)。
例如,一个很好的 xdm 的会话可能会有一个
。xsession
脚本,其中包含
最后几行:
recollconf=$HOME/.recoll-home recolldata=/usr/local/share/recoll RECOLL_CONFDIR=$recollconf $recolldata/examples/rclmon.sh start fvwm
启动索引守护程序,然后打开窗口 会话等待的管理员。
默认情况下,索引守护程序将监视状态
X11会话,并在完成时退出,不是
必须明确杀死它。 ( X11 服务器监控可以
使用选项 -x
禁用
重新排序索引 )。
如果您完全不使用守护程序
X11 会话,您需要
添加选项-x
以禁用
X11 会话监视
(否则守护程序将无法启动)。
默认情况下,来自索引守护程序的消息将
被发送到与交互式文件相同的文件
命令(日志文件名
)。 您
可能想通过设置 daemlogfilename
和 daemloglevel
配置参数。
此外,只有在守护程序时日志文件才会被截断
开始。 如果守护程序永久运行,则日志文件可能
增长得很大,具体取决于日志级别。
增加用于inotify的资源。在Linux上
系统,监控一棵大树可能需要增加
可用于化身的资源,通常是
在 /etc/sysctl.conf
。
### 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
尤其是,您将需要修剪树或进行调整
max_user_watches
值
如果索引退出并显示有关errno的消息 ENOSPC
(28)来自 inotify_add_watch
。
降低重新索引率以实现快速更改
文件。使用实时监视器时,可能会
碰巧有些文件需要索引,但是要更改
通常,它们会给系统带来过大的负担。
Recoll 提供了一个
配置选项以指定最短时间之前
用通配符模式指定的文件不能是
重新索引。参见 mondelaypatterns
参数
配置部分。
获取特定查询的答案当然是 Recoll 的整个重点。 的 提供的多个接口始终易于理解 由一个或几个单词组成的查询,然后返回 在大多数情况下都是合适的结果。
为了充分利用 Recoll 可能值得 了解它如何处理您的输入。 五种不同 模式存在:
In All Terms
mode,
Recoll looks for
documents containing all your input terms.
在所有条款
模式下,
Recoll 寻找
包含您所有输入条件的文档。
查询语言
模式
行为类似于所有条款
在没有特殊输入的情况下,但它也可以
多得多。这是获得最大收益的最佳模式
的 Recoll 。
在任何条款
模式下,
Recoll 寻找
包含您任何输入条件的文档,最好
那些包含更多的内容。
在文件名
模式下,
Recoll 仅
匹配文件名,不匹配内容。使用一小部分
索引允许类似通配符的事情
没有性能问题,有时可能是
有用。
GUI 高级
搜索
模式实际上没有比
查询语言,但可以帮助您构建复杂的语言
查询而不必记住语言,并且
避免任何歧义性,因为它会绕开
用户输入解析器。
这五个输入模式受不同的支持 用户界面,如下所述 部分。
recoll 程序提供了用于搜索的主用户界面。它 基于 Qt 库。
recoll 具有 两种搜索模式:
简单搜索(默认,在主屏幕上) 有一个输入字段,您可以在其中输入多个 话。
高级搜索(通过 工具菜单或 工具箱栏图标)有多个输入字段, 您可能会用来建立逻辑条件, 对文件类型,位置的其他过滤 文件系统,修改日期和大小。
li> ul> div>在大多数情况下,您可以按照自己的想法输入条款 即使它们包含嵌入式标点符号或其他 非文字字符(例如 Recoll 可以处理诸如电子邮件之类的问题 地址)。
主要情况下,您应该输入不同的文本 印刷方式是针对东亚语言的 (中文,日文,韩文)。 由单或 应输入多个字符,并用白色分隔 在这种情况下(通常在打印时 空白)。
某些搜索可能非常复杂,您可能需要 稍后重新使用它们,可能需要进行一些调整。 Recoll 可以保存和恢复搜索。 参见 保存和还原查询。
开始 recoll 程序。
可能选择搜索模式:任何术语,所有条款,文件名或查询语言。
在文本字段中的 窗口顶部。
点击搜索 按钮或点击 输入 键开始 搜索。
初始默认搜索模式为查询语言。无特殊 指令,它将查找包含所有内容的文档 的搜索字词(包含更多字词的搜索字词 得分更高),就像全部 条款模式。 任何条款 将搜索至少其中一个术语的文档 出现。 文件名将 专门查找文件名,而不是内容
所有搜索模式均允许用
通配符( *
,
?
, []
)。请参见
通配符以获取更多详细信息。
在所有模式下,除了文件
名称,您可以搜索准确的词组(相邻词组
以给定顺序排列的单词)将输入括起来
双引号。例如:“虚拟
现实”
。
查询语言 功能在 单独的部分。
文件名搜索 模式将专门查找文件名。 要点 具有单独的文件名搜索是通配符 在较小的空间上可以更有效地执行扩展 索引的子集(允许在通配符左边添加通配符 条款,而不会产生过多费用)。 要知道的事情:
条目中的空白应与白色匹配 文件名中的空格,并且不会被处理
搜索对字符大小写和 重音,与索引类型无关。
没有任何通配符且没有
大写字母将在前面加上“ *”
(即: 等
* etc *
,但是
等
等
)。
如果索引很大(许多文件), 过于通用的片段可能会导致 搜索效率低下。
使用剥离索引(默认)时,字符
情况对搜索没有影响,但您可以
通过大写禁用词条扩展。
即:搜索 floor
通常也寻找地板
,铺满
等,但搜索
楼层
只会查找
楼层
(以任何字符表示)
案件。也可以在
首选项。使用原始索引时,
规则要复杂一些。
Recoll 记得 您执行的最后几次搜索。你可以直接 通过点击时钟按钮访问搜索历史 搜索条目的右侧,而后者为空。 否则,将使用历史记录完成输入(请参阅 下一个)。仅记住搜索文本,不记住模式 (所有/任何/文件名)。
在搜索区域中输入文本时, recoll 将显示 从历史记录和 索引搜索词。可以使用GUI禁用它 偏好设置选项。
双击结果列表中的单词或 预览窗口会将其插入到简单搜索中 输入字段。
您可以将任何文本剪切并粘贴到所有条款或任何
字词搜索字段,标点符号,换行符以及所有-
通配符除外(单个?
字符是可以的)。 Recoll 将对其进行处理并产生一个
有意义的搜索。 这是最与众不同的地方
查询
语言模式,您必须关心
语法。
您可以使用 工具→高级搜索 对话框以获取更多信息 复杂的搜索。
开始搜索后,结果列表将 立即显示在主列表窗口中。
默认情况下,文档列表按以下顺序显示 相关性(系统估计 文档与查询匹配)。您可以对结果进行排序 使用垂直箭头升序或降序 在工具栏中。
点击预览
条目的链接将打开一个内部预览窗口
用于文档。进一步的预览
点击将
在现有预览窗口中打开标签。您可以使用
Shift +点击
强制创建另一个预览窗口
并排查看文档可能很有用。 (您
还可以在单个预览中浏览连续结果
输入 Shift + 向上/向下
窗口)。
点击打开
链接
将启动文档的外部查看器。通过
默认情况下, Recoll 允许
桌面为大多数选择合适的应用程序
文档类型(有简短的例外列表,请参见
进一步)。如果您希望完全自定义
选择应用程序,则可以取消选中使用桌面偏好设置选项
GUI首选项对话框,然后单击选择编辑器应用程序按钮以
调整预定义的 Recoll 选择。该工具接受
MIME类型的多种选择(例如,设置
数十种Office文件类型的编辑器。)
即使使用桌面 偏好设置被选中,其中有一小部分 例外,对于 Recoll 选项应覆盖 桌面一台。这些都是很好的应用 与 Recoll 集成在一起, 尤其是证据 查看PDF和Postscript文件,因为其支持 用于在特定页面打开文档并传递 搜索字符串作为参数。当然,您可以编辑 列出(在GUI首选项中),如果您不想丢失 功能并使用标准的桌面工具。
您还可以通过以下方式更改应用程序的选择: 编辑 <代码类= “ filename”> mimeview 配置文件(如果您 找到这个更方便。
每个结果条目还具有一个右键菜单,其中包含一个 打开方式条目。这让 您可以从以下列表中选择一个应用程序: 在桌面上注册了文档MIME 类型。
预览
和
打开
编辑链接可能无法打开
所有条目均存在,表示 Recoll 没有配置的方式来
预览给定的文件类型(按名称索引)
仅),或者没有为文件配置外部编辑器
类型。有时可以通过调整来进行调整
<代码类=
“ filename”> mimemap 和 mimeview
配置文件(
后者可以根据用户偏好进行修改
对话框)。
结果列表条目的格式完全是 可通过使用偏好对话框配置为编辑HTML片段。
您可以点击查询
结果页面顶部的详细信息
链接以查看
词干扩展后,查询实际执行了
其他处理。
双击结果列表中的任何单词或 预览窗口会将其插入到简单搜索中 文字。
结果列表分为几页(大小 您可以在首选项中进行更改)。使用箭头 工具栏中的按钮或底部的链接 页面以浏览结果。
如果搜索没有结果,并且 aspell 字典是 配置的 Recoll 将尝试检查查询中的拼写错误 条款,并会提出替换清单。 点击 其中一项建议将取代 重新开始搜索。 您可以持有任何修饰符 点击(Ctrl,Shift等),同时点击 宁愿停留在建议屏幕上,因为 条款需要替换。
除了预览和编辑链接之外,您还可以 通过右键单击显示弹出菜单 结果列表中的段落。 此菜单具有 以下条目:
预览
打开
打开方式
运行脚本
复制文件 名称
复制网址
保存到文件
找到相似的
预览父级 文档
打开父级 文档
打开摘要 窗口
预览和 打开条目的作用相同 作为相应的链接。
打开方式可让您
使用其中一个要求保护的应用程序打开文档
能够处理其MIME类型(信息
来自。desktop
/ usr / share / applications
)。
运行脚本允许 在结果文件上启动任意命令。它 仅针对顶级文件的结果显示。 请参见 进行更详细的说明。
复制文件名和 复制网址复制 相关数据到剪贴板,以便以后粘贴。
保存到文件允许 将结果文档的内容保存到选定的 文件。仅当文档确实存在时,此条目才会出现 不对应于现有文件,而是一个 此类文件中的子文档(即:电子邮件) 附件)。提取特别有用 没有相关编辑器的附件。
打开/预览父级 document 条目允许使用更高级别的 级别的文档(例如电子邮件附件) 来自)。 Recoll 是 有时关于它能做什么还是不完全准确 在这方面做不到。例如父母条目也会出现在 电子邮件,它是mbox文件夹文件的一部分,但是您 无法实际显示mbox( 错误对话框(如果尝试)。
如果文档是顶级文件,则打开父级将启动默认 文件系统目录中的文件管理器。
查找相似条目 将从当前词中选择一些相关词 文档并将其输入到简单搜索字段中。 然后,您很有可能开始简单的搜索 查找与当前结果相关的文档。一世 不记得这个功能的单个实例 实际上对我有用...
打开代码段窗口 条目仅出现在支持页面的文档中 中断(通常是PDF,Postscript,DVI)。片段 窗口列出了从文档中提取的内容, 搜索字词的出现,以及相应的 页码,作为可用于启动 相应页面上的本机查看器。如果观众 支持它,其搜索功能也将启动 带有其中一个搜索字词。
在 Recoll 1.15和 更新后,结果可以像电子表格一样显示 时尚。您可以通过以下方式切换到此演示文稿: 工具栏中的表格状图标(这是一个切换按钮, 再次单击以恢复列表。
单击列标题将允许按以下顺序排序 列中的值。您可以再次单击以反转 顺序,然后使用标题右键单击菜单进行重置 排序为默认的关联顺序(您也可以使用 按日期排序箭头)。
列表和表都显示相同 基本结果。从表中设置的排序顺序是 如果您切换回列表模式,它仍然处于活动状态。您可以 在日期排序箭头上单击两次可将其重置为 在那里。
标题右键单击菜单允许添加或删除 列。列可以调整大小,其顺序可以 被更改(通过拖动)。记录所有更改 当您退出 recoll
将鼠标悬停在表格行上将更新详细信息区域 在窗口的底部,带有相应的 价值观。您可以单击该行以冻结显示。的 底部区域相当于结果列表段落, 带有用于启动预览或本机的链接 应用程序,以及等效的右键菜单。打字 Esc ( 退出键)将解冻显示。
除了打开和 打开方式操作,其中 允许在结果文档(或 临时副本),根据其MIME类型, 可以对结果执行任意命令 顶级文件,使用运行 在结果弹出菜单中输入脚本。
将出现在运行脚本子菜单必须由
内的。desktop
文件
的脚本
子目录
当前配置目录。
以下是。desktop
文件,可以将其命名为
例如,〜/.recoll/scripts/myscript.desktop
(
目录中的确切文件名无关紧要):
[Desktop Entry] Type=Application Name=MyFirstScript Exec=/home/me/bin/tryscript %F MimeType=*/*
名称
属性
定义将出现在标签内的标签
运行脚本菜单。 的
Exec
属性定义了
要运行的程序,实际上并不需要
脚本,当然。 MimeType
属性未使用,但是
需要存在。
以这种方式定义的命令也可以从 结果段落。
例如,编写脚本可能很有意义 这会将文档移至垃圾箱并清除 来自 Recoll 索引。
结果列表条目和 结果表的详细信息区域为每个图标显示一个图标 结果文件。该图标是通用图标 根据MIME类型或缩略图 文件外观。仅在以下情况下显示缩略图 在标准 freedesktop 位置, 通常是由文件管理器创建的。
Recoll无法创建缩略图。一种 相对简单的技巧是使用在以下位置打开父文档/文件夹条目 结果列表弹出菜单。这应该打开一个文件 包含目录中的管理器窗口,该目录应 依次创建缩略图(取决于您的 设置)。重新开始搜索,然后应显示 缩略图。
首次单击
预览
链接位于
结果列表。
打开给定搜索的后续预览请求 现有窗口中的新标签页(除非您按住 Shift 键 在单击时将打开一个新窗口并排 侧视图)。
开始另一个搜索并请求预览 创建一个新的预览窗口。 旧的一直开放到 您将其关闭。
您可以通过输入 Ctrl-W ( Ctrl + W )。 关闭窗口的最后一个标签也会关闭 窗口。
当然,您也可以通过使用关闭预览窗口 框架顶部的窗口管理器按钮。
您可以显示来自以下位置的连续或先前的文档 通过键入预览选项卡中的结果列表 Shift + 下 或 Shift + 上 ( 下 和 上 是箭头 键)。
文本区域中的右键菜单允许切换 在显示主要文字或内容之间 与文档关联的字段(即:作者,摘要, 等等。)。 这在以下情况下特别有用 匹配未在主要文本中发生,而是在 领域。 对于图像,您可以在 三个显示:图像本身,图像元数据为 由 exiftool 和 字段,即存储在索引中的元数据。
您可以通过以下方式打印当前预览窗口的内容: 输入 Ctrl-P ( Ctrl + P ) 文字。
预览窗口内部进行搜索 功能,主要由面板上的控制 窗口底部,它以两种模式工作: 经典编辑器增量搜索,我们在哪里寻找 在输入区域中输入的文字,或作为步行方式 文档和 Recoll 查询找到了它。
“预览”标签具有内部增量 搜索功能。您可以启动搜索 通过输入 / (斜杠)或 CTL-F 文本区域或点击进入搜索:文本字段,然后 输入搜索字符串。然后,您可以使用 下一步和 上一个按钮 查找下一个/上一个事件。你也可以 输入 F3 文本区域,直到下一次出现。
如果您输入了搜索字符串并且您 使用Ctrl-Up / Ctrl-Down浏览结果, 对每个连续文档启动搜索。 如果找到该字符串,则光标将位于 位于搜索的第一个位置 字符串。
如果在单击时输入区域为空 下一步或 上一个按钮, 编辑器将滚动以显示下一个 匹配任何搜索词(下一个突出显示 区)。如果您从 下拉列表,然后点击下一步或上一个,匹配项列表 这个小组将步行。这不一样 作为文字搜索,因为这些事件会 包括不完全匹配(由词干引起) 或通配符)。搜索将恢复为文本 在您编辑输入区域后立即进入模式。
选择工具→ 查询片段菜单 条目将打开一个带有单选按钮和复选按钮的窗口 可用于激活查询语言片段 用于过滤当前查询。如果这可以是有用的 您经常使用可重用的选择器,例如, 筛选备用目录,或仅搜索一个 文件类别,未包含在标准类别中 选择器。
窗口的内容是完全可定制的,
并由 fragbuts.xml
文件
配置目录。随附的样本文件
Recoll (您应该
可以在 /usr/share/recoll/examples/fragbuts.xml
),
包含一个示例,该示例从
WEB历史。
这里是一个例子:
<?xml version="1.0" encoding="UTF-8"?> <fragbuts version="1.0"> <radiobuttons> <fragbut> <label>Include Web Results</label> <frag></frag> </fragbut> <fragbut> <label>Exclude Web Results</label> <frag>-rclbes:BGL</frag> </fragbut> <fragbut> <label>Only Web Results</label> <frag>rclbes:BGL</frag> </fragbut> </radiobuttons> <buttons> <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> </buttons> </fragbuts>
每个单选按钮
或
按钮
部分定义了一个
窗口中的复选按钮或单选按钮的行。
可以选择任意数量的按钮,但是
一行中的单选按钮是排他的。
每个 fragbut
部分
定义按钮的标签和查询语言
片段,将在之前添加(作为AND过滤器)
如果按钮处于活动状态,则执行查询。
此功能是 Recoll span> 1.20,可能会是 根据用户反馈进行完善。
高级搜索对话框可帮助您构建更多内容 复杂的查询而无需记住搜索语言 结构体。可以通过工具菜单或通过主菜单 工具栏。
Recoll 保持 搜索历史。请参见高级搜索历史。
对话框有两个标签:
第一个标签可让您指定要搜索的字词 并允许指定多个子句 结合起来进行搜索。
li>第二个标签可根据以下内容过滤结果 文件大小,修改日期,MIME类型或 位置。
li> ol> div>点击开始 高级搜索对话框中的搜索按钮,或 输入 输入 在任何文本字段中开始搜索。中的按钮 主窗口总是执行简单的搜索。
点击显示查询
结果页面顶部的详细信息
链接以查看
查询扩展。
对话框的这一部分允许您构造查询 通过组合多个不同类型的子句。每 可以为以下内容配置输入字段 模式:
All terms.
Any term.
None of the terms.
Phrase (在可调窗口中按顺序排列的确切术语).
Proximity (可调窗口中任何顺序的术语).
Filename search.
其他输入字段可以通过单击创建 添加子句 按钮。
搜索时,非空子句将为 与AND或OR结合, 取决于左侧的选择(所有子句或任何子句)。
除“词组”和“附近”以外的所有类型的条目 接受包含在其中的单个单词和短语的混合 双引号。阻止和通配符扩展 与简单搜索一样执行。
短语和邻近搜索这些
两个子句的工作方式相似,不同之处在于
邻近搜索不会对
话。在这两种情况下,
在搜索到的词之间可能会接受不匹配的词
一个(使用左侧的计数器对此进行调整
计数)。对于词组,默认计数为零(精确
比赛)。接近度是十(表示两个
搜索字词,如果在窗口中找到则会匹配
十二个单词)。示例:短语搜索
快速狐狸
,松弛度为
0将匹配快速狐狸
,但
不是快速的狐狸
。用
松弛1会匹配后者,但不匹配
fox quick
。接近度
搜索快速狐狸
默认的松弛将与后者匹配,并且
狐狸狡猾而敏捷
动物
。
对话框的这一部分有几个部分,其中 允许根据搜索条件过滤搜索结果 条件数
第一部分允许按日期过滤 最后修改。您可以同时指定一个最小值 和最大日期。设置初始值 根据最新和最新的文件 在索引中找到。
li>下一部分允许过滤结果
按文件大小。最少有两个条目
和最大尺寸。输入十进制数字。您可以
使用后缀乘数: k / K
, m / M
, g / G
, t / T
代表1E3、1E6、1E9、1E12
分别。
下一部分允许过滤结果 按其MIME类型或MIME类别(即: 媒体/文本/消息/等。
您可以在两个方框之间传送类型, 定义将包含或排除的对象 搜索。
文件类型选择的状态可以是 保存为默认值(文件类型过滤器将 不会在程序启动时被激活,但是 列表将处于还原状态)。
底部允许限制 搜索结果到索引区域的子树。 您可以使用反转复选框以进行搜索 文件不在子树中。 如果您使用 经常对目录的大子集进行目录过滤 文件系统,您可能会考虑设置 而是使用多个索引,因为性能可能 变得更好。
您可以将相对/部分路径用于
过滤。 即,输入 dirA / dirB
可以匹配
/dir1/dirA/dirB/myfile1
或
/dir2/dirA/dirB/someother/myfile2
。
Recoll 自动 管理将搜索词扩展到其 派生词(即:复数/单数,动词词尾变化)。 但 在其他情况下,确切的搜索词不是 众所周知。 例如,您可能不记得确切的 拼写,或者只知道名字的开头。
搜索将仅建议替换项为 未找到匹配的文档时的拼写变化。 在某些情况下,正确的拼写和错误的拼写都是 出现在索引中,看起来可能很有趣 明确地为他们服务。
术语浏览器工具(从工具栏图标开始 或通过术语浏览器 “工具” 菜单项) 可用于搜索完整的索引词列表。 它有 三种操作模式:
在这种操作模式下,您可以输入
搜索字符串,带有类似shell的通配符(*,?,[])。
即: xapi *
将显示所有以
xapi
。
(有关通配符此处)。
此模式将接受正则表达式为
输入。示例: 单词[0-9] +
。的
表达式隐式地锚定在
开始。即: 按
将匹配
压力
但不是 表达式
。您可以
使用 。*按
进行匹配
后者,但请注意,这将导致
全索引术语列表扫描,这可能相当
长。
此模式将执行通常的词干扩展 通常作为用户输入处理的一部分。如 这样可能最有用的是证明 过程。
在这种模式下,您可以按照自己的想法输入术语 是拼写的,并且 Recoll 将尽力 查找听起来像您输入的索引词。 这个 模式使用 Aspell 拼写应用程序, 必须在您的系统上安装它的东西 工作(如果您的文档包含非ASCII 字符, Recoll 对于UTF-8,需要一个高于0.60的aspell版本 支持)。 用于构建 索引项之外的字典(在 索引传递的结尾)是由 您的NLS环境。 奇怪的事情可能会 如果语言混在一起就会发生。
请注意,在 Recoll 不知道开始
要搜索的字符串(即通配符表达式)
例如 * coll
),
扩展可能需要很长时间,因为
索引词列表将必须进行处理。 扩张
目前限制为10000个通配符和
常用表达。 可以更改限制
在配置文件中。
在结果列表中双击一个术语将 将其插入简单搜索输入字段。 您可以 还可以在结果列表和任何条目之间剪切/粘贴 字段(将处理行尾)。
请参阅描述使用多个 索引。只有有关的方面 recoll 此处介绍了GUI。 p>
recoll 程序实例总是与特定的 索引,当从处请求时将被更新的索引 文件菜单,但可以 使用任意数量的 Recoll 搜索索引。外部索引可以是 通过外部选择 索引标签。
索引选择分为两个阶段。一套 必须首先定义所有可用索引,然后 用于搜索的索引子集。这些 参数在程序执行期间保留(存在 对于每个 Recoll 配置)。一套 所有索引通常都很稳定,而活动索引 通常可能会经常进行调整。
主索引(由 RECOLL_CONFDIR
)始终处于活动状态。如果这
是不可取的,您可以将基本配置设置为
索引一个空目录。
向集合添加新索引时,可以选择 Recoll 配置目录,或直接 Xapian 索引目录。在第一 情况下, Xapian 索引 目录将从选定的目录中获取 配置。
建立所有索引的集合可能会有点
通过用户界面完成后,您可以使用
RECOLL_EXTRA_DBS
环境变量以提供初始集合。这个
通常可能是由系统管理员设置的,因此
每个用户都不必这样做。变量
应该定义一个用冒号分隔的索引列表
目录,即:
导出RECOLL_EXTRA_DBS = /some/place/xapiandb:/some/other/db
另一个环境变量, RECOLL_ACTIVE_EXTRA_DBS
允许添加到
活动索引列表。建议使用此变量
并由 Recoll 用户。它在以下情况下最有用
您使用脚本来挂载外部卷
Recoll 索引。通过使用
RECOLL_EXTRA_DBS
和
RECOLL_ACTIVE_EXTRA_DBS
,您
可以添加并激活已安装卷的索引
开始时 recoll 。
RECOLL_ACTIVE_EXTRA_DBS
是
可用于 Recoll
版本1.17.2和更高版本。在同一位置进行了更改
更新,以使 recoll 将
在以下情况时自动停用无法访问的索引
启动。
结果列表中的文档通常按以下顺序排序 相关顺序。可以指定其他 排序顺序,方法是使用 GUI工具箱按日期排序或切换到结果 表格显示并单击任何标题。排序顺序 如果您在结果表中选择的内容保持活动状态 切换回结果列表,直到您单击以下一项 垂直箭头,直到两个都未被选中为止( 返回按相关性排序。
在程序之间记住排序参数 调用,但结果排序通常总是 程序启动时处于非活动状态。可以保持 程序调用之间的排序激活状态 通过检查记住排序 偏好设置中的激活状态选项。
还可以在其中隐藏重复的条目 结果列表(内容完全相同的文档 如显示的那样)。身份测试基于 文档容器的MD5哈希,不仅是 文本内容(即带有图像的文本文档 添加的内容将不会仅与文本重复)。 隐藏重复项是由 GUI配置对话框, 并且默认情况下处于关闭状态。
从1.19版开始,当结果文档确实具有
未显示的重复项, Dups
链接将显示在结果中
列表条目。单击链接将显示路径
(URL + ipath)重复的条目。
项完成键入 Esc 空格 输入单词时在搜索输入字段中输入 如果当前单词的开头与 索引中的唯一术语,或打开一个窗口以提出建议 完成列表。
从结果或预览中选择新术语 文字双击结果中的单词 列表或在预览窗口中将其复制到简单 搜索输入字段。
通配符通配符可以在内部使用 所有搜索形式的搜索字词。 更多有关 通配符。
自动后缀像
odt
或 ods
可以自动转换为
查询语言 ext:xxx
条款。可以在搜索首选项面板中
GUI。
禁用词干扩展输入
任何搜索字段中的大写单词都会阻止词干
扩展(不搜索园艺
(如果输入花园
而不是花园
)。这是唯一的情况
字符大小写应该对
Recoll 搜索。您可以
也禁用词干扩展或更改词干
偏好设置中的语言。
查找相关文档选择 查找相似文档 结果列表段落的右键单击菜单中的条目 将从中选择一组“有趣”字词 当前结果,并将其插入到简单搜索中 输入字段。然后,您可以编辑列表,然后 开始搜索以查找可能是 明显体现在当前结果上。
文件名文件名添加为 索引过程中,您可以将它们指定为 普通搜索字段中的普通术语( Recoll 用于索引所有 文件路径中的目录。这是 放弃,因为它似乎并不真正有用)。 或者,您可以使用特定的文件名 搜索 查找文件名, 并且可能比一般搜索更快 使用通配符时。
短语和邻近搜索一个词组
可以通过将其用双引号引起来来查找。
示例:“用户手册”
将仅查找出现用户
后立即跟着
手册
。您可以使用
该短语的字段
高级搜索对话框具有相同的效果。短语可以
以简单的方式输入所有简单或高级的内容
搜索输入字段(此除外
确切的词组)。
自动短语可以在
首选项对话框。如果已设置,则短语为
自动建立并添加到简单搜索中
寻找任何条款
。
这不会从根本上改变结果,但是会
增强搜索结果的相关性
术语作为短语出现。即:搜寻
虚拟现实
仍将
在虚拟
或真实性
或同时出现,但那些
其中包含虚拟
现实
应该早点出现在列表中。
如果出现以下情况,词组搜索会大大降低查询速度
该短语中的大多数术语是通用的。这就是为什么
自动短语
选项是
默认关闭 Recoll 1.17之前的版本。作为
版本1.17,自动短语
默认情况下处于启用状态,但非常常用的术语将被删除
从构造的短语。清除阈值可以
可以根据搜索偏好进行调整。
短语和缩写
Recoll 版本1.17,
点分缩写,例如 I.B.M。
也会自动编入索引
作为不带点的单词: IBM
。 在a中搜索单词
短语(即:“ IBM
公司”
)将只匹配虚线
如果您增加词组松弛(使用
高级搜索面板控件,或 o
查询语言修饰符)。 文字
单词的出现会正常匹配。
使用字段您可以使用查询语言和
字段规范,仅搜索
文件。这对于电子邮件特别有用,
例如仅搜索来自特定位置的电子邮件
发起者:搜索提示
来自:helpfulgui
调整结果表列。何时 以表格模式显示结果,您可以使用右 单击表格标题以激活弹出菜单 这样您就可以调整要显示的列。 您可以拖动列标题以调整其顺序。 您可以单击它们以按显示在字段中排序 列。您还可以将结果列表保存为CSV 格式。
更改GUI几何 可以通过以下方式以宽尺寸配置GUI 将工具栏拖到侧面之一(它们的 在会议之间记住位置)和移动 类别过滤器到菜单(可以在 首选项→ GUI配置→用户界面面板)。
查询说明您可以获得确切的 查询内容的描述,包括 通过单击来展开词干扩展和使用布尔运算符 在结果列表标题上。
高级搜索记录 Recoll 1.18,您可以 显示最近执行的100次复杂搜索中的任何一个 通过使用向上和向下箭头键,而高级 搜索面板处于活动状态。
在预览中浏览结果列表 窗口输入 下移 或 上移 ( Shift + 箭头键)在预览窗口中将显示下一个 或结果列表中的上一个文档。任何 当前激活的辅助搜索将在 新文档。 p>
从 键盘您可以使用 PageUp 和 PageDown 滚动结果列表, Shift + Home 返回 到第一页。即使重点是 在搜索条目中。
结果表:将焦点移至 表您可以使用 Ctrl-r 移动 从搜索条目集中到表格,然后使用 箭头键更改当前行。 Ctrl-Shift-s 返回 搜索。
结果表:打开/预览 聚焦在结果表中,可以使用 Ctrl-o 打开 当前行中的文档, Ctrl-Shift-o 打开 该文档并关闭 recoll , Ctrl-d 预览 文档,并且 Ctrl-e 打开 文档摘要窗口。
不在焦点上时编辑新搜索 搜索条目您可以使用 Ctrl-Shift-S 快捷方式 将光标返回到搜索条目(然后选择 当前搜索文本),而焦点位于任何地方 在主窗口中。
强制打开预览窗口您
可以使用 Shift +点击
结果列表预览
链接
强制创建预览窗口而不是
现有标签中的新标签。
关闭预览输入 Ctrl-W 将其关闭(对于最后一个标签,请关闭预览 窗口)。输入 Esc 将关闭 预览窗口及其所有标签。
打印预览输入 Ctrl-P 窗口将打印当前显示的文本。
退出进入 Ctrl-Q 几乎在任何地方 将关闭应用程序。
简单和高级查询对话框均保存最近的 历史记录,但数量有限:旧查询会 最终被人遗忘。另外,重要的查询可能是 很难找到其他。这就是为什么两种类型的 查询也可以从 GUI菜单:文件→ 保存上一个查询/加载最后一个 查询
已保存查询的默认位置是 当前配置目录的子目录,但是 保存的查询是普通文件,可以写入或 移到任何地方。
一些保存的查询参数是
偏好设置(例如自动短语
或有效的外部索引),并且当
查询从保存时间开始加载。在这种情况下,
Recoll 会警告
差异,但不会改变用户
偏好。
您可以自定义搜索界面的某些方面 通过使用 GUI 首选项菜单。
对话框中有几个选项卡,用于处理 接口本身,用于搜索和 返回结果,以及搜索什么索引。
突出显示查询颜色
条款 span>:来自用户查询的条款是
在结果列表样本中突出显示,并且
预览窗口。可以在这里选择颜色。任何
Qt颜色字符串应该起作用(即红色
,#ff0000
)。默认是
蓝色
。
样式表:
Qt 样式的名称
应用于整个工作表的文本文件
重新启动应用程序。默认值为
空,但有一个骨架样式表
( recoll.qss
)里面
/usr/share/recoll/examples
目录。使用样式表,您可以更改大多数
记录 图形
参数:颜色,字体等。请参见示例文件
举几个简单的例子。
您应该注意参数(例如: 背景颜色)设置在 Recoll GUI样式表将 尽可能覆盖全局系统首选项 奇怪的副作用:例如,如果您将 浅色的前景和背景 桌面偏好设置中的深色选项,但只有 背景设置在 Recoll 样式表,它是 太亮了,那么文字就会亮起来 在 Recoll GUI。
最大文字大小 突出显示以供预览插入突出显示 插入文字之前在搜索字词上 在预览窗口中涉及很多 处理,可以在给定的文本上禁用 大小以加快加载速度。
首选HTML而不是纯文本 进行预览(如果已设置),则Recoll将显示HTML 例如在预览窗口中如果这导致 Qt HTML显示问题,您可以取消选中 而是显示纯文本版本。
激活以下链接 预览(如果已设置),则Recoll将打开HTTP链接 在纯文本中找到正确的HTML锚点, 然后点击预览窗口中的链接 在链接目标上启动默认浏览器。
将文本替换为HTML行 样式:在“ 预览窗口, Recoll 尝试保留一些 原始文本的换行符和缩进。 它可以使用PRE HTML标签, 保留缩进但将强制水平 滚动长行,或使用BR标签中断 在原始换行符处,这将使 编辑器根据介绍其他换行符 窗口宽度,但会丢失一些原始的 缩进。第三个选项已在 最新版本,现在可能是最好的版本: 在行换行中使用PRE标签。
选择编辑器 应用程序:这将打开一个对话框, 允许您选择要用于的应用程序 打开每种MIME类型。默认是使用 xdg-open 实用程序, 但您可以使用此对话框覆盖它,设置 仍将打开的MIME类型的异常 根据 Recoll 首选项。这是 对于传递诸如页码或 搜索支持它们的应用程序的字符串 (例如证据)。 这不能通过 xdg-open 其中 仅支持传递一个参数。
禁用Qt自动补全 在搜索条目中 span>:这将禁用 完成弹出窗口。 Il只会出现,并显示 完整的历史记录,如果您仅输入白色 搜索区域中的空格,或者如果您单击时钟 该区域右侧的按钮。
文档过滤器选择 样式:您可以选择是否 文档类别显示为列表或 一组按钮或菜单。
从简单搜索开始
模式:这使您可以选择
程序启动时的简单搜索类型。 要么
固定值(例如查询
语言
,或者当
程序最后退出。
从高级开始 搜索对话框打开:如果使用此对话框 经常,检查条目将得到它 recoll启动时打开。
记住排序激活 状态(如果已设置),Recoll将记住排序 两次调用之间的工具统计信息。 通常开始 禁用排序。
一个搜索结果的数量 结果页面
结果列表字体: 在其中显示了很多信息 结果列表,您可能需要自定义字体 和/或字体大小。其余使用的字体 Recoll 是 由您的一般Qt配置决定(尝试 qtconfig 命令)。
编辑结果列表段落格式 字符串:允许您更改 每个结果列表条目的展示。见 结果列表自定义 部分。
修改结果页HTML标头 插入:允许您定义插入的文本 在结果页HTML标头的末尾。更多 结果列表自定义 部分。
日期格式: 允许指定用于显示的格式 日期在结果列表中。这应该是 指定为strftime()字符串(man strftime)。
摘要摘要分隔符:用于 根据索引数据构建的综合摘要,其中 通常由几个不同的片段组成 文档的各个部分,这定义了代码段 分隔符,默认为省略号。
隐藏重复项 结果:确定结果列表项是否为 针对在不同位置找到的相同文件显示 地方。
定位语言: 词干明显取决于文档的 语言。此列表框可让您在 在索引期间建立的词干数据库 (这是在 主要配置文件),或以后添加 重新索引 -s (请参阅recollindex手册)。 动态添加的词干语言将 除非下次通过,否则将其删除 还会添加到配置文件中。
自动添加词组
简单搜索:一个短语将是
自动建立并添加到简单搜索中
当寻找任何
条款
。这将提高相关性
搜索字词显示为的结果
短语(连续且顺序)。
自动词条频率 阈值百分比 span>:非常频繁的字词 不应该包含在自动词组搜索中 出于性能原因。该参数定义了 截止百分比(文件百分比) 该术语出现的位置)。
替换来自的摘要 文档:这决定了我们是否应该 合成并显示摘要以代替 在文档中找到的显式摘要 本身。
动态生成 摘要:决定 Recoll 尝试构建文档 摘要( 摘要 ),当 显示结果列表。摘要是 通过从文档中获取上下文来构造 有关搜索字词的信息。
合成摘要 大小:调整以适应口味...
合成摘要 上下文词:应包含多少个词 显示在每个词项周围。
查询语言魔术文件
名称后缀:单词列表
自动变成 ext:xxx
文件名后缀子句
在开始查询语言查询时(例如:
doc xls xlsx ...
)。 这个
将为使用文件类型的人节省一些输入
查询时很多。
外部
索引:该面板可让您浏览
您可能要搜索的其他索引。外部
索引由其数据库目录指定(即:
/home/someothergui/.recoll/xapiandb
,
/usr/local/recollglobal/xapiandb
)。
输入后,索引将出现在 外部索引列表,以及 您可以随时选择要使用的 检查或取消选中他们的条目。
您的主数据库(当前配置之一) 索引),始终处于隐式活动状态。如果不是这样 理想的是,您可以设置配置以使其 索引,例如,空目录。替代 索引器可能还需要实施清除方法 过时数据的索引,
通常使用较新版本的Recoll(从1.17版开始) WebKit HTML小部件,用于结果列表和 代码段 窗口(在构建时可能会禁用)。 总 完全支持CSS和 Javascript。 相反,您所受的限制 可以使用较旧的Qt QTextBrowser,但是仍然 可以决定每个结果将包含哪些数据, 以及如何显示。
结果列表演示可以详尽无遗 通过调整两个元素进行自定义:
段落格式
HTML代码。 对于 版本1.21和更高版本,也用于 代码段 窗口。
段落格式和标题片段可以是 从结果编辑 GUI的列表标签 配置 span>。
标头片段都用于结果列表
和摘要窗口。片段列表是一个表
并具有摘要
类
属性。结果列表中的每个段落都是
表,其类为 respar
,
但这可以通过编辑段落来更改
格式。
有关自定义结果列表的页面 Recoll 网络 网站。
这是一个任意的HTML字符串,其中
遵循类似printf的%
替换将执行:
%A 摘要
li>%D 日期
li>%I 图标图片名称。这是 通常由MIME类型确定。的 关联在 <代码类= “ filename”> mimeconf 配置 文件。如果找到文件的缩略图 在标准的Freedesktop位置,这将 改为显示。
%K 关键字(如果有)
%L 预煮,编辑和 可能是摘录链接
%N 结果编号在 结果页面 p>
%P 父文件夹网址。在里面 如果是嵌入式文档,这就是 顶层容器的父文件夹 文件。
%R 相关百分比
%S 大小信息
%T 标题或文件名(如果没有) 设置。
%t 标题或为空。
%(文件名)文件名。
li>%U 网址
“预览”,“编辑”和“片段”的格式
链接是 a
href =“ P%N”
, a
href =“ E%N”
和 a
href =“ A%N”
其中 文档编号
(%N)展开
到结果页面内的文档编号)。
链接目标定义为“ F%N”
将打开文档
对应于%P
父文件夹扩展,通常创建一个文件
容器文件所在文件夹的管理器窗口
居住。例如:
a href =“ F%N”%P / a
链接目标定义为 R%N |
将在结果文件上运行相应的脚本
(如果嵌入了文档,则脚本将是
从顶级父级开始)。参见
有关定义脚本的部分。脚本名称
除上述预定义值外,所有
像%(fieldname)
将替换为
名为字段名
。只要
可以通过这种方式访问存储的字段,值
索引但未存储的字段的数量目前未知
点在搜索过程中(请参见现场
配置)。目前很少
除上述值外,默认情况下存储的字段
(仅 author
和
文件名
),因此
功能将需要一些自定义本地配置
有用。一个示例候选人是
收件人
字段是
由消息输入处理程序生成。
段落格式字符串的默认值 是:
"<table class=\"respar\">\n" "<tr>\n" "<td><a href='%U'><img src='%I' width='64'></a></td>\n" "<td>%L <i>%S</i> <b>%T</b><br>\n" "<span style='white-space:nowrap'><i>%M</i> %D</span> <i>%U</i> %i<br>\n" "%A %K</td>\n" "</tr></table>\n"
例如,您可以尝试以下更多 类似网络的体验:
<u><b><a href="P%N">%T</a></b></u><br> %A<font color=#008000>%U - %S</font> - %L
请注意,上段中的P%N链接 使标题成为预览链接。 还是干净的 看起来:
<img src="%I" align="left">%L <font color="#900000">%R</font> <b>%T&</b><br>%S <font color="#808080"><i>%U</i></font> <table bgcolor="#e0e0e0"> <tr><td><div>%A</div></td></tr> </table>%K
这些示例,另一些是,其中包含要显示的图片 它们的外观。
也可以定义值 摘要内的摘要分隔符 部分。
Recoll KIO奴隶 允许执行 Recoll 搜索,方法是输入 KDE打开对话框中的适当网址,或带有 显示在 Konqueror 。
s基于HTML的界面类似于基于Qt的界面 介面,但目前功能略逊一筹。它的 优点是您可以在执行搜索的同时 完全处于KDE框架之内:拖放 从结果列表中正常工作,您就拥有了 正常选择打开文件的应用程序。
备用界面使用以下目录视图 搜索结果。由于当前KIO的限制 从属接口,目前显然没有用( 我)。
该接口在内部详细介绍
您可以通过输入 recoll:/
“ command”> konqueror URL行
(仅当recoll KIO从站已
以前安装的。)
有关构建此模块的说明
在源代码树中。请参阅: kde/kio/recoll/00README.txt
。一些Linux
发行版确实打包了kio-recoll模块,因此请检查
在进入构建过程之前,也许已经
一键安装即可。
作为示例应用程序, Recoll KIO从站可能允许 准备一组HTML文档(例如手册) 这样他们就可以成为自己的搜索界面 konqueror 。
这可以通过显式插入来完成
a
围绕某些文档的href =“ recoll:// ...”
链接
区域,或自动添加非常小的区域
javascript 程序来
文档,如以下示例所示,
通过双击任何术语来启动搜索:
<script language="JavaScript"> function recollsearch() { var t = document.getSelection(); window.location.href = 'recoll://search/query?qtp=a&p=0&q=' + encodeURIComponent(t); } </script> .... <body ondblclick="recollsearch()">
有几种方法可以将搜索结果作为 文本流,没有图形界面:
通过传递选项-t
到 recoll 程序,或
通过将其称为 recollq (通过
链接)。
通过使用 recollq 程序。
通过编写自定义 Python 程序,使用 Recoll Python API 。
前两种方法的工作方式相同,
接受/需要相同的参数(除了附加参数
-t
到 recoll )。查询为
被指定为命令行参数。
recollq 是
并非始终默认构建。您可以使用查询
目录进行构建。这是一个
非常简单的程序,如果可以编写一点C ++,
您可能会发现将其输出格式保留为您的有用
需要。除了易于定制之外, recollq 才是真正的
在没有Qt库的系统上很有用,
否则,它与 recoll是多余的
-t
。
recollq 有一个手册页。 用法字符串如下:
recollq:用法: -P:显示索引中存在的所有文档的日期范围 [-o | -a | -f] [-q]查询字符串 运行recoll查询并显示结果行。 默认值:将参数解释为xesam查询字符串 查询元素: *隐式AND(排除),字段规范:t1-t2标题:t3 *或具有优先级:t1或t2 t3或t4表示(t1或t2)AND(t3或t4) *短语:“ t1 t2”(需要在cmd行上附加引号) -o在TERM模式下模拟GUI简单搜索 -a在所有条款模式下模拟GUI简单搜索 -f在文件名模式下模拟GUI简单搜索 -q仅被忽略(与recoll GUI命令行兼容) 常用选项: -c configdir:指定配置目录,覆盖$ RECOLL_CONFDIR -d也转储文件内容 -n [first-] cnt定义结果切片。 [first]的默认值 为0。如果没有该选项,则默认最大计数为2000。 无限制地使用n = 0 -b:基本。仅输出网址,没有MIME类型或标题 -Q:没有结果行,只有处理过的查询和结果计数 -m:为每个结果转储整个文档meta []数组 -A:输出文件摘要 -S fld:按字段fld排序 -D:降序排列 -s stemlang:设置要使用的源语言(必须存在于索引中...) 使用-s“”关闭主干扩展 -T同义词文件:使用参数(Thesaurus)进行单词扩展 -i dbdir:附加索引,可以给出几个 -e为网址使用网址编码(%xx) -F字段名称列表:为每个结果精确输出这些字段。 字段值以base64编码,在一行中输出, 用一个空格字符分隔。这是推荐的格式 供其他程序使用。使用带有-m选项的普通查询 查看字段名称。使用-F''输出所有字段,但是您可能 在这种情况下也需要选项-N -N:使用-F,在字段值之前打印(纯文本)字段名称
示例执行:
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....
在GUI中激活了查询语言处理器 搜索模式选择器设置为时的简单搜索条目 查询语言。它也可以 与KIO从站或命令行搜索一起使用。它 具有与复杂搜索相同的功能 GUI中的界面。
该语言基于现已失效的 Xesam 用户搜索语言 规范。
如果查询语言搜索的结果使您感到困惑,并且
您怀疑实际搜索了什么,可以使用
GUI 显示查询
链接位于
结果列表的顶部以检查确切的查询
最终由Xapian执行。
以下是我们要处理的示例请求 解释:
作者:“ john doe”甲壳虫乐队或列侬直播或不插电-马铃薯
这将搜索所有 John Doe
显示为
作者字段中的词组(确切地说是
取决于文档类型,即:发件人:
标头,以获取电子邮件),以及
包含 披头士
或 lennon
和
实时
或
拔出
但不是
土豆
(任意
文档的一部分)。
元素由可选字段组成
规格和一个值,以冒号分隔(字段
分隔符是元素中的最后一个冒号)。例子:
Eugenie
,
author:balzac
,
dc:title:grandet
dc:title:“ eugenie
Grandet”
冒号(如果存在)表示“包含”。 Xesam定义 其他关系,目前大多不支持 (除非特殊情况,否则将在后面进行介绍)。
通常将搜索条目中的所有元素组合在一起
与隐式AND。可以指定
如 甲壳虫
OR
Lennon
。 OR
必须按原义输入(大写),
并且它的优先级高于AND关联: word1
word2
OR
word3
表示 word1
AND( word2
OR
word3
)不是( word1
和 word2
))。 OR
word3
。
Recoll 1.21版 然后允许使用括号对元素进行分组, 有时会使情况更清晰,并可能允许 表达很难的组合 否则。
以-
开头的元素
指定应 不 。
通常,引号内的单词定义一个短语(顺序
的字数很重要),因此 标题:“偏见骄傲”
是
与 title:偏见
title:pride
,并且不太可能找到
结果。
短语中的单词和大写单词都不是 茎展开。通配符可以在 术语。在术语左侧指定通配符可以 产生非常缓慢的搜索(如果 由于尺寸过大,扩展会被截断)。另见 更多有关 通配符。
为了节省您的输入,最近的 Recoll 版本(1.20及更高版本) 将字段的逗号分隔术语列表解释为 AND字段内的列表。使用斜杠字符('/')作为 或列表。不允许有空格。所以
author:john,lennon
将搜索具有 john
和 author
字段(以任何顺序),以及
author:john/ringo
将搜索 john
或
铃声
。 仅此行为
发生在字段查询中(输入时没有字段,逗号或
用斜杠分隔的输入将产生短语搜索)。 您
可以使用文本
字段名称来
用这种方式搜索正文。
可以在双引号上设置修饰符,例如
指定邻近搜索(无序)的示例。 看到
修改器部分。 没有空间
必须将最终的双引号和修饰符分开
值,例如 “两个
一个“ po10
Recoll 管理以下默认字段:
标题
,主题
或标题
是同义词,用于指定
要在文档标题中搜索的数据或
主题。
作者
或
来自
,用于搜索
文档创建者。
收件人
或
到
以搜索
文档收件人。
关键字
以进行搜索
文档指定的关键字(很少文档
实际上有任何。)
文件名
文档的文件名。这不一定是为
所有文件:内部包含的内部文件
复合一(例如EPUB部分)不
继续继承容器文件名,这是
替换为显式字段(请参见下一个)。
子文档仍然可以具有特定的文件名
(如果该文件隐含)
文档格式,例如附件文件名
以获得电子邮件附件。
容器文件名
。
为所有文档(顶级文档和
包含子文档,并且始终是
文件系统目录条目,其中包含
数据。 此字段中的字词只能匹配
通过明确的字段规范(相对于
文件名
中的术语
也被索引为一般文档内容)。
这样可以避免获得所有子文档的匹配项
搜索容器文件名时。
ext
指定
文件扩展名(例如: ext:html
)
Recoll 1.20及更高版本
有一种方法可以为字段名称指定别名,即
将保存输入内容,例如通过别名文件名
到 fn
或容器文件名
到 cfn
。参见有关
字段
文件。
索引时使用的文档输入处理程序具有 创建具有任意名称的其他字段的可能性, 和别名可以在配置中定义,以便 确切的字段搜索可能性可能与 您,如果有人负责定制。
字段语法还支持一些类似字段的内容,但是 特殊条件:
dir
用于过滤
文件位置的结果(例如: dir:/home/me/somedir
)。 -dir
还可用于查找结果,而不是
在指定目录中(版本= 1.15.8)。
平铺扩展将照常执行(除非
(版本1.19至1.19.11p1中的错误)。通配符
将被扩展,但是请看看
通配符在路径中的重要限制
过滤器。
相对路径也很有意义,例如,
dir:share/doc
将
匹配 /usr/share/doc
或 /usr/local/share/doc
几个 dir
子句
可以指定正负两个值。对于
下面的例子很有意义:
dir:recoll dir:src -dir:utils -dir:common
这将选择同时具有两个结果的结果
recoll
和 src
(以任何顺序),以及
都没有实用程序
或常用
。
您还可以使用 OR
与 dir:
的连词
条款。
dir
子句是
索引不会转码为UTF-8,并且永远不会
小写或无重音,但以二进制形式存储。这个
表示您需要输入准确的值
小写或大写字母,并使用
变音符号有时可能是不可能的,因为
字符集转换问题。非ASCII UNIX文件
路径是无尽的麻烦之源,也是最好的
避免。
您需要在路径周围使用双引号 包含空格字符的值。
size
进行过滤
文件大小的结果。示例:尺寸10000
。您可以使用
,
或 =
作为运算符。您可以指定一个
范围如下:尺寸100尺寸1000
。通常
k/K,m/M,g/G,t/T
可以
用作(十进制)乘数。例如: 1k大小
以搜索文件
大于1000个字节。
日期
进行搜索或
按日期过滤。参数的语法是
基于日期和时间的ISO8601标准
间隔。仅支持日期,没有时间。的
一般语法是2个元素,中间用
/
字符。每
元素可以是日期或一段时间。期间
被指定为 P
n
Y
n
M
n
D
。 n
数字是
相应的年,月或日数,
可能会丢失。日期指定为
YYYY
- MM
- DD
。日子和
几个月的零件可能会丢失。如果 /
存在,但元素
缺少,缺少的元素被解释为
索引中的最低或最高日期。例子:
2001-03-01 / 2002-05-01
日期间隔的基本语法。
2001-03-01 / P1Y2M
相同
用句点指定。
2001 /
从2001年开始,一直到
索引。
2001
整个
2001年
P2D /
表示2
天前到现在,如果没有文件
带有未来的日期。
/ 2003
全部
2003年或更早的文档。
也可以用小写字母指定句点 (即:p2y)。
哑剧
或格式
,用于指定MIME类型。
这些子句除了正常
搜索的布尔逻辑。多个值将是
或(而不是正常的与)。您可以指定
要排除的类型,通常使用-
,并使用通配符。例:
mime:text / *
-mime:text / plain
指定一个显式
mime
规范
并会产生奇怪的结果。
类型
或 rclcat
用于指定类别
(如文本/媒体/演示文稿/等)。的
定义了类别中的MIME类型分类
在 Recoll
配置( mimeconf
),可以进行修改或
扩展。默认类别名称是那些
允许在GUI主屏幕上过滤结果。
类别与上面的MIME类型一样经过“或”运算,并且可以
被-
否定。
哑剧
, rclcat
,尺寸
和日期
标准始终会影响整个
查询(将它们用作最终过滤器),即使已设置
加上括号内的其他术语。
哑剧
(或等同版本)
rclcat
)是 字段
OR
默认。你确实需要
将 OR
与 ext
字词。
Recoll 1.24及更高版本 支持范围条款 配置为支持它。没有默认字段使用它们 当前,所以只有您 修改了字段配置,并可能使用 自定义输入处理程序。
范围子句如下所示:
myfield
:small
..big
myfield
:small
..myfield
:..big
该子句的性质由两个点表示
..
,其作用是
过滤 myfield
值位于
可能是无限制的时间间隔。
请参阅有关 <代码类= “ filename“>字段配置文件 配置范围搜索字段的详细信息(列表 它们在[值]部分中。)
某些字符被识别为搜索修饰符
当在的结束双引号之后立即发现时
短语,如“ some
术语“修饰符”
。实际的“短语”可以是
当然是单学期。支持的修饰符:
l
可用于
关闭词干(大多数情况下,
p
,因为词干是
默认情况下,将其关闭)。
s
可用于
如果同义词文件是,请关闭同义词扩展
就位(仅适用于 Recoll 1.22及更高版本。
o
可用于
为短语和接近度指定“松弛”
搜索:可能会增加的其他字词数量
在指定的之间找到。如果
o
后跟一个
整数,这是松弛,否则为默认值
是10。
p
可用于
将默认词组搜索转换为邻近词组
(无序)。示例:“ order
任意“ p
C
将打开大小写
敏感度(如果索引支持的话)。
D
将打开
变音符号敏感性(如果指数支持
它)。
可以通过以下方式为查询元素指定权重:
在开始时指定一个十进制值
修饰符。 示例:“重要” 2.5
。
某些特殊字符由 Recoll 以展开或 专门搜索。 通配符扩展了的根词 控制方式。 定位符可以将搜索限制为 仅当匹配在开始处或附近时成功 文档或其字段之一。
在 Recoll 搜索字段将是 在请求被处理之前已进行通配符扩展处理 终于执行了。
通配符为:
*
匹配0
或更多字符。
?
匹配一个
单个字符。
[]
允许
定义要匹配的字符集(例如:
[
abc
]
匹配一个字符
可以是'a'或'b'或'c', [
0-9
]
匹配任何数字。
使用时应注意一些事项 通配符。
在通配符开头使用通配符
这个词会使搜索速度变慢,因为
Recoll 将具有
扫描整个索引术语列表以查找
火柴。但是,这对于
字段搜索以及诸如 作者:* @ domain.com
有时可能非常有用。
对于 Recoll 仅在使用原始索引时使用版本18 (保留字符大小写和变音符号), 通配符表达式的文字部分将是 完全匹配案例和变音符号。这是 对于版本19和更高版本不再如此。
使用 *
一个单词的结尾比您产生的匹配更多
会想,而且搜索结果很奇怪。您可以
使用术语
资源管理器工具来检查存在哪些完成
给定期限。您还可以确切看到
通过单击位于
结果列表的顶部。一般而言,自然
语言方面,词干扩展会产生更好的结果
结果比结尾的 *
(词干扩展已关闭
当任何通配符出现在
学期)。
两个字符用于指定搜索结果
应该出现在文本的开头或结尾。
学期开始时 ^
或词组限制搜索从一开始就进行,
最后 $
强制其
发生在最后。
此功能实现为词组搜索 可以指定最大距离 应该通过 高级搜索面板或使用查询语言 例如:
“ ^ someterm” o10
这将强制 someterm
可在以下10个术语中找到
文本的开头。可以与一个字段结合
按照 somefield:“ ^ someterm” o10
或 somefield:someterm $
。
此功能也可以与实际短语一起使用
搜索,但在这种情况下,距离适用于
整个词组和锚点,例如
我意想不到的字眼
在文本的开头将是一个匹配项
“ ^我的名词” o5
。
锚定搜索对于搜索非常有用 里面有些结构化的文件,例如科学 文章,如果未提供显式元数据 (最常见的情况),例如寻找 匹配摘要或作者列表(其中 出现在文档顶部。
术语同义词:有很多方法可以 使用术语同义词来搜索文本:
在创建索引时,可以使用它们来更改 索引项,可以增加或减少 通过将原始条款扩展到所有 同义词,或将所有同义词术语简化为 规范的。
在查询时,它们可以用于匹配文本 包含与那些词同义的词 通过扩展查询由用户指定 所有同义词,或将用户条目减少为 规范术语(仅当 进行了相应的处理时 创建索引)。
Recoll 仅使用
查询时的同义词。用户查询字词是
同义词组将可选地扩展为
OR
查询中的所有术语
组。
同义词组在普通文本文件中定义。 文件中的每一行都定义了一个组。
示例:
hi hello "good morning" # not sure about "au revoir" though. Is this english ? bye goodbye "see you" \ "au revoir"
通常,以#
是注释,空行将被忽略,
并且可以通过以
反斜杠。
支持多词同义词,但请注意 这些会产生词组查询,这可能会降低 性能,并且将禁止词干扩展 词组术语。
同义词文件的内容必须用大小写折叠
(不仅小写),因为这是
在查询处理中使用它的位置。有一个
例如,在少数情况下这会有所作为,
德语的Sharp s应该表示为 ss
,希腊语的最终sigma为sigma。对于
参考,Python3有一个简单的方法来折叠单词
(str.casefold())。
同义词文件可以在搜索参数标签 “ guilabel”> GUI配置 “首选项” 菜单项,也可以选择 用于命令行搜索。
一旦定义了文件,就可以使用同义词 直接从首选项菜单。
在同义词中搜索与用户词匹配的词 在后者展开后,但 同义词文件本身不进行词干扩展。 这意味着如果表单不存在匹配项 同义词文件中存在的内容在 文档集(使用原始格式时带有重音符号 索引)。
同义词功能可能对您没有帮助 找到给史密斯先生的信。最好用于 特定领域的搜索。例如,最初 由用户在历史记录中执行搜索建议 文档:同义词文件将包含昵称和 每个感兴趣的人的别名。
在某些情况下,文档路径存储在 索引与实际的不匹配,因此该文档 预览和访问将失败。这可能会发生很多 情况:
使用多个索引时,相对而言
一些实际会驻留在
远程卷,例如通过NFS安装的卷。在这个
情况下,用于访问
本地计算机不一定与
在远程计算机上建立索引时使用的索引。对于
例如, / home / me
可能
已被用作 topdirs
元素在建立索引时,但是
该目录可能以 /net/server/home/me
机器。
这种情况也可能发生在可移动磁盘上。它 完全有可能将索引配置为有效 和可移动磁盘上的文档,但可能 发生磁盘未安装在同一位置的情况 这样索引的文档路径是 无效。
作为最后一个例子,可以想象一个很大的 目录已被移动,但是当前 不方便运行索引器。
Recoll 有一个功能 用于从中提取数据时重写访问路径 索引。可以为主翻译定义翻译 索引以及任何其他查询索引。
无论何时,路径转换工具都会很有用 索引器看到的文档路径与 在查询时应该使用的那些。
在上面的NFS示例中, Recoll 可能会被要求重写
来自的任何 file:///home/me
URL
文件:///net/server/home/me
,允许
来自客户端的访问。
翻译在 ptrans
配置文件,该文件可以
可以手动编辑或从GUI外部索引进行编辑
配置对话框:首选项→外部索引对话框,然后单击
上的路径翻译按钮
在索引列表下方。
由于当前的错误,必须在之后重新启动GUI
更改 ptrans
值
(即使从GUI进行了更改)。
对于 Recoll 版本 1.18及更高版本,以及 带有原始索引 (不是默认值)的搜索 对性格和变音符号敏感。这个怎么 发生的情况由配置变量以及 输入搜索数据。
通常的默认设置是输入的搜索不包含
大写或带重音的字符不区分大小写
和变音符号。 简历
将与恢复
,结果
,简历
,简历
等
两个配置变量可以自动打开 敏感性(已记录,但实际上什么也没做 直到 Recoll 1.22):
如果设置,则对变音符号的搜索敏感度
带有重音符号的字符将立即打开
存在于搜索词中。当变量设置为
是的,简历
将开始
变音符号不敏感的搜索,但简历
将完全匹配。的
默认值为 false 。
如果已设置,则搜索字符的敏感性
大写字母将立即打开大小写
搜索字词中存在字符 ,除了第一个 。
当变量设置为true时,我们
或我们
将启动
变音符号不敏感搜索,但美国
将完全匹配。的
默认值为 true (与
自动诊断
)。
与过去一样,将单词的首字母大写 将关闭其茎扩张,对 区分大小写。
您还可以明确激活案例和变音符号
通过在查询语言中使用修饰符来提高灵敏度。
C
将成为该术语
区分大小写,并且 D
使它对变音符号敏感。例子:
“我们” C
将搜索术语我们
完全(我们
不会是
匹配)。
“恢复” D
将搜索术语恢复
(履历
将不匹配)。
激活大小写或变音符号敏感性时, 茎杆膨胀已关闭。两者并不能 很有道理。
独立于桌面类型有其缺点: Recoll 桌面集成 是最小的。但是,有一些可用的工具:
KDE KIO从站 在上一页 部分。
如果使用最新版本的Ubuntu Linux,则您 可能会找到 Ubuntu Unity镜头模块 有用。
还有一个独立开发的 Krunner插件。
请注意一些其他可能有所帮助的事情。
显示或显示非常方便 隐藏 Recoll GUI与 一次按键。 Recoll带有一个小型Python 脚本,基于 libwnck 窗口管理器界面 库,这将使您能够做到这一点。的 有关详细说明,请参见此Wiki页面。
现在可能已经过时了。无论如何:
Recoll 源 树包含 recoll_applet ,一个小型应用程序 衍生自 find_applet 。这可以用来添加 小型 Recoll 启动器 进入KDE面板。
applet不会自动与主对象一起构建
Recoll 程序,也没有
它包含在主要的来源分发中(因为
KDE构建样板使其相对较大)。您
可以从recoll.org下载中下载其源代码
页。使用全能 configure; make; make
安装
咒语来构建和
安装。
然后可以通过以下方式将小程序添加到面板中: 右键单击面板,然后选择添加小程序条目。
recoll_applet 具有 一个小的文本窗口,您可以在其中键入 Recoll 查询(以查询语言显示 形式),以及可用于限制 搜索某些类型的文件。这是很原始的 并每次启动一个新的recoll GUI实例(甚至 (如果它已经在运行)。您可能会发现它很有用 无论如何。
Recoll 有一个应用程序 编程接口,可用于索引和 搜索,当前可从 Python 语言。
另一种不那么激进的扩展应用程序的方法是 为新型文档编写输入处理程序。
文档元数据属性的处理
(字段
)
可配置的。
处理程序的小程序或代码段
处理不同的文档类型
Recoll 以前被称为
过滤器
,至今
反映在保存它们的目录名称中
和许多配置变量。他们被命名为
之所以这样,是因为它们的主要功能之一是过滤
删除格式指令并保留文本内容。
但是,这些模块可能还有其他行为,并且
现在,术语输入处理程序
在文档中逐步替换。
过滤器
仍在许多国家中使用
但是。
Recoll 输入处理程序 合作翻译大量输入文件 格式,简单格式为 opendocument , acrobat 或诸如 邮政编码或电子邮件,进入最后的 Recoll 索引输入格式,即 纯文本(在许多情况下,处理管道具有 中间HTML步骤,可能会更好 预览演示文稿)。大多数输入处理程序是 可执行程序或脚本。一些处理程序被编码为 C ++,生活在 重新排序索引 。后者 种类在此不再赘述。
目前(自版本1.13起)有两种 外部可执行输入处理程序:
简单的 exec
处理程序
运行一次并退出。它们可以是裸露的程序,例如
反词 ,或者
使用其他程序的脚本。他们很简单
写,因为他们只需要打印转换后的
文档到标准输出。他们的输出可以是
纯文本或HTML。通常首选HTML,因为
它可以存储元数据字段,并且可以保留
GUI预览的一些格式。然而,
这些处理程序有局限性:
他们每个只能处理一个文档 文件。
必须知道输出的MIME类型,并且 固定。
字符编码(如果相关)必须为 已知且固定的(或可能仅取决于 位置)。
多个 execm
处理程序可以处理多个文件(
进程启动时间可能非常重要),
或每个文件多个文档(例如:用于存档或
多章出版物)。他们与
索引器通过一个简单的协议,但是
但是,比旧版本更复杂
类。大多数新的处理程序都写在
Python (例外:
rclimg
这是用Perl编写的,因为 exiftool
没有真正的Python
当量)。 Python处理程序使用通用模块
排除样板,可以使它们
在有利的情况下非常简单。子文件
这些处理程序的输出可以直接索引
(文本或HTML),也可以是其他简单或
需要处理的复合文件
另一个处理程序。
在两种情况下,处理程序都处理常规文件系统 文件,并且可以处理单个文档或 每个文件中文档的线性列表。 Recoll 负责执行 最新检查,处理更复杂的嵌入和 其他高层问题。
一个简单的处理程序,以文本/普通
格式,不能传输
元数据到索引器。通用元数据,例如文档
尺寸或修改日期,将由
索引器。
产生 text / html
格式可以返回任意
HTML中的元数据数量元
标签。这些将被处理
根据 <代码类=
“ filename”>字段配置文件。
每个文件可以处理多个文档的处理程序
返回单个数据以标识每个文档
在文件中。这段数据称为 ipath
将通过 Recoll 将文档提取到
查询时间,用于预览或用于创建临时
查看器打开的文件。这些处理程序还可以
以HTML 元
标签,或通过
通信协议。
以下部分描述了简单的处理程序,以及
下一个给出了一些关于
execm
。你可以
可以想象只有元素的简单处理程序
在手册中。其他情况则不是这样
,您将不得不查看其代码。
Recoll 简单 处理程序通常是shell脚本,但这绝不是 必要。从本机格式中提取文本是 困难的部分。输出预期的格式 Recoll 很简单。 幸运的是,大多数文档格式都有翻译器或 可以从处理程序中调用的文本提取器。在 在某些情况下,翻译程序的输出为 完全合适,没有中间的shell脚本 是必需的。
使用单个参数调用输入处理程序,该参数 是源文件名。他们应该将结果输出到 标准输出。
编写处理程序时,应确定是否会 输出纯文本或HTML。纯文本更简单,但是您 将无法添加元数据或更改输出 字符编码(将在 配置文件)。此外,某些格式可能是 预览HTML时更易于保存。其实 决定因素是元数据: Recoll 有一种方法可以从中提取元数据 HTML标头并将其用于字段搜索。。
RECOLL_FILTER_FORPREVIEW
环境
变量(值是
,
否
)告诉处理程序是否
该操作用于索引或预览。一些处理者
使用此输出略有不同的格式
去除无趣的重复关键字的示例(即:
主题:
(电子邮件))何时
索引。这不是必需的。
您应该看一下其中一种简单的处理程序, 示例 rclps 作为开始 点。
别忘了让您的处理程序成为可执行文件 测试!
如果您可以编程并想编写一个 execm
处理程序,应该不要太
难以理解现有的一种
处理程序。
现有处理程序的帮助程序量有所不同 他们正在使用的代码:
rclimg
在Perl中处理execm协议
本身(显示它是多么琐碎)。
所有Python处理程序至少共享
rclexecm.py
模块,
处理通讯。看一下,
例如, rclzip
对于使用 rclexecm.py
。
大多数Python处理程序
通过执行另一个命令来创建单文档文件
通过使用 rclexec1.py
模块。寻求
示例 rclrtf.py
用于
一个简单的,或 rcldoc.py
稍微多一点
复杂的一个(可能执行多个
命令)。
从XML文档提取文本的处理程序
现在使用XSLT样式表执行
内部 重新排序索引 ,
仅存储在 filters /
目录。这些可以使用
单个样式表(例如 abiword.xsl
),或两张
数据和元数据(例如 opendoc-body.xsl
和 opendoc-meta.xsl
)。的
mimeconf
配置文件定义了工作表的使用方式,
看一看。在C ++导入之前,基于xsl
处理程序使用了通用模块 rclgenxslt.py
,它仍然存在
但未使用。 OpenXML演示文稿的处理程序
仍然是Python版本,因为格式
不符合C ++代码的功能。这将是一个
另一个类似问题的良好基础。
有一个基于以下示例的琐碎处理程序
rclexecm.py
,其中有很多
注释,未由 Recoll 。它将索引一个文本文件
每行一个文档。寻找 rcltxtlines.py
在线中的“ filename”> src / filters 目录
Recoll Git信息库(示例不在
目前是分布式发行)。
您也可以看看稍微复杂一点的
rclzip
使用Zip文件路径作为标识符( ipath
)。
execm
处理程序有时
需要选择 ipath
元素
与索引器通信。这里有一些
准则:
使用ASCII或UTF-8(如果标识符是 整数打印它,例如,类似于printf%d 做)。
如果可能的话,数据应该使 打印到日志文件时的感觉 进行调试。
Recoll 使用
冒号(:
)作为一个
分隔符,用于在内部存储复杂路径(用于
更深层的嵌入)。 ipath
元素
将被逃脱,但作为一个坏选择
特定于处理程序的分隔符(大多数情况下,
调试问题)。
无论如何,主要目标是应该很容易
给定处理程序以提取目标文档
文件名和 ipath
元素。
execm
处理程序也将
产生一个空的 ipath
元素。取决于类型
文档,其中可能包含一些相关数据(例如
电子邮件的正文),或无(通常为
存档文件)。如果为空,则此文档为
无论如何对于某些操作还是有用的
实际数据文件。
有两个元素将文件链接到处理程序 应该对其进行处理:文件与MIME的关联 类型以及MIME类型与 处理程序。
文件与MIME类型的关联主要基于
在名称后缀上。类型定义在
mimemap
文件。示例:
.doc =应用程序/ msword
如果未找到文件名的后缀关联, Recoll 将尝试 执行系统命令(通常 文件-i 或 xdg-mime )来确定 MIME类型。
第二个元素是MIME类型与 <代码类= “ filename”> mimeconf 文件。样本将 可能比长解释更好:
[index] application/msword = exec antiword -t -i 1 -m UTF-8;\ mimetype = text/plain ; charset=utf-8 application/ogg = exec rclogg text/rtf = exec unrtf --nopict --html; charset=iso-8859-1; mimetype=text/html application/x-chm = execm rclchm
该片段指定:
应用程序/ msword
通过执行 反词 程序,
输出文本/纯文本
以 utf-8
。
application/ogg
文件由 rclogg 脚本,
使用默认输出类型(文本/ html
,并指定了编码
在标题中,或 utf-8
默认)。
文本/rtf
是
由 unrtf ,
输出文本/ html
。的
iso-8859-1
编码为
指定,因为它不是 utf-8
,并且不会由
unrtf
在HTML标头部分。
应用程序/ x-chm
由持久性处理程序处理。这是
由 execm
关键字。
简单和持久的输入处理程序都可以 将任何MIME类型返回给Recoll,这将进一步 根据MIME配置处理数据。
大多数输入过滤器都会产生文本/纯文本
或文本/ html
数据。有例外
例如,过滤处理归档文件的文件
(邮政编码
, tar
等)通常会返回
找到的文档,不进行处理
关于文本/普通
输出,但其输出
字符编码应与什么一致
在 mimeconf
中指定
文件。
对于产生HTML的过滤器,输出可能非常 最小,例如以下示例:
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> </head> <body> Some text content </body> </html>
您应注意避免在其中转义一些字符
通过将它们转换为适当的实体来显示文本。
至少,“
”
应转换为“
“,”
”应转换为
“
”。这不是
始终由外部帮助程序正确完成
输出HTML,当然不会输出HTML
纯文本。
将纯文本封装在HTML正文中时,
可以通过附上
中的文本
标签。
需要在标题中指定字符集。 它不必是UTF-8( Recoll 将负责翻译 ),但必须准确才能取得良好结果。
Recoll 将处理
标头内的元
标签
作为可能的文档字段候选。文件栏位
可以由索引器以不同方式处理,对于
搜索或显示内部查询结果。这是
在以下
部分。
默认情况下,索引器将处理标准
标头字段(如果存在):标题
,元/说明
和元/关键字
都已编入索引并
存储以供查询时显示。
预定义的非标准元
标签也将由
重新收集
配置:如果 date
标签
存在并且具有正确的格式,它将用作
文档日期(用于显示和排序),在
文件修改日期的首选项。 日期格式
应该如下:
<meta name="date" content="YYYY-mm-dd HH:MM:SS"> or <meta name="date" content="YYYY-mm-ddTHH:MM:SS">
例:
<meta name="date" content="2013-02-24 17:50:00">
输入处理程序也可以“发明” 字段名称。 这也应该作为meta标签输出:
<meta name="somefield" content="Some textual data" />
您可以将HTML标记嵌入自定义内容中
字段,以改善结果列表中的显示。 在
在这种情况下,添加(非标准的)标记
属性来告诉记录,该值为HTML,
不应逃脱显示。
<meta name="somefield" markup="html" content="Some <i>textual</i> data" />
如上所述,字段的处理是 在进一步 部分。
持久过滤器可以使用另一个可能更简单的过滤器,
通过调用 setfield()
辅助方法。 这样可以避免
产生HTML的必要性以及HTML的任何问题
报价。 例如,参见 rclaudio
以“ application”> Recoll 1.23及更高版本为例
输出文本/纯文本
,并使用 setfield()
来生成元数据。
索引器将解释 ^ L
字符输出为
指示分页符,并将其记录下来。查询时
时间,这样可以在右侧页面上启动查看器
点击或摘要。目前,只有PDF,Postscript
和DVI处理程序会生成分页符。
字段
被命名为
文档中或有关文档的信息,例如标题
,作者
,抽象
。
文档的字段值可以出现在多个
索引期间的方式:由输入处理程序输出为
HTML标头中的元
字段
部分,或从文件扩展属性中提取,或
作为 Doc
的属性添加
使用API时对象,或在内部再次合成
通过 Recoll 。
Recoll 查询 语言允许在特定字段中搜索文本。
Recoll 定义了一个数字
默认字段。其他的可以通过输出
处理程序,并在字段
配置文件。
字段可以是:
索引
,表示
它们的术语分别存储在反向列表中
(具有特定的前缀),并且特定于字段
搜索是可能的。
已存储
,表示
它们的值记录在索引数据记录中
该文档,并且可以返回并显示为
搜索结果。
可以对一个字段进行索引或存储。这个
以及字段处理的其他方面是在
字段
配置
文件。
某些字段也可能被指定为支持范围 查询,这意味着可以为 其值的间隔。请参见配置部分 更多细节。
现场处理的事件顺序如下 如下:
在编制索引期间, 重新排序索引 扫描
HTML中的所有元
字段
文档(大多数文档类型已转换为
HTML)。它比较每个名称
定义应该是什么的配置元素
完成字段(字段
文件)
如果元
元素匹配一个字段
应该被索引,内容被处理
并将条款与
在字段
文件。
如果元
元素匹配一个字段
应该存储的元素的内容是
与文档数据记录一起存储,从中
可以在查询时提取并显示。
在查询时,如果执行了字段搜索,则 计算索引前缀,仅匹配 针对适当前缀的词 索引。
在查询时,该字段可以显示在内部 通过使用适当的指令在结果列表中 结果列表段落 格式。 所有字段都显示在字段上 预览窗口的屏幕(您可以访问 通过右键菜单)。 这是独立于 搜索产生结果的事实 是否使用该字段。
您可以在有关
字段
文件,或在
文件中的注释。
您还可以查看示例,详细说明了 可以添加一个 页面 计数 字段以显示pdf文档 在结果列表中。
Recoll Python 编程接口可用于搜索和 用于创建/更新索引。存在绑定 Python2和Python3。
搜索界面中使用了许多活动 项目: Recoll Gnome Shell搜索 提供商 span>, Recoll Web UI和upmpdcli UPnP 媒体服务器,还有许多小脚本。
API的索引更新部分可用于 创建和更新 Recoll 特定配置的索引(与 由 recollindex )。的 可以单独查询生成的数据库,也可以在 通过GUI或其他任何方式与常规工具结合使用 查询界面。
搜索API沿Python数据库建模 API版本2.0规范(早期版本使用 版本1.0规范)。
recoll
包
包含两个模块:
recoll
模块
包含用于查询(或
更新)索引。
摘要
模块包含查询时使用的函数和类
是时候访问文档数据了。 recoll
模块必须导入
在摘要
您的系统存储库很有可能具有 Recoll Python API的软件包,有时在 将包与主包分开(可能命名为 像python-recoll)。否则请参考从源构建 章。
作为介绍,以下小样本将
运行查询并列出每个广告的标题和网址
结果。 python/samples
源目录包含Python的几个示例
Recoll 进行编程,
更完全地行使扩展程序,尤其是
其数据提取功能。
#!/usr/bin/env python from recoll import recoll db = recoll.connect() query = db.query() nres = query.execute("some query") results = query.fetchmany(20) for doc in results: print("%s %s" % (doc.url, doc.title))
您也可以查看以下内容的来源 Recoll WebUI , upmpdcli本地媒体服务器,或者 Gnome Shell搜索提供程序。
界面中的一些元素是特定的,并且 需要一个解释。
此数据值(在Doc中设置为字段
对象)与URL一起存储,但不存储
由 Recoll 编制索引。
索引不解释其内容
层,其使用取决于应用程序。对于
例如, Recoll 文件系统索引器
使用 ipath
来
将文档访问路径的一部分存储在内部
到(可能是带绑带的)集装箱文件。
在这种情况下, ipath
是
访问元素的向量(例如,第一部分
可能是zip文件中的存档路径
成员恰好是mbox文件,第二个
元素将是消息序号
在mbox等里面)。 网址
和 ipath
结果并定义对原始内容的访问
文件。 ipath
是
顶级文档/文件为空(例如PDF)
文档是文件系统文件)。的
Recoll GUI知道
关于 ipath
值由
文件系统索引器,并将其用于此类功能
打开给定文档的父级。
udi
(唯一
文档标识符)标识文档。因为
索引引擎内部的局限性
长度受限制(最多200个字节),这就是为什么
常规URI不能使用。结构和
udi
的内容是
由应用程序定义并且对索引不透明
发动机。例如,内部文件系统
索引器使用完整的文档路径(文件路径
+内部路径),长度被截断,
被抑制的部分将替换为哈希值。的
udi
在
查询界面(由“在幕后”使用
rclextract
模块),但这是
更新界面。
如果在文档上设置了此属性,则
在索引中输入它,它指定它的
物理容器文件。在多层次
层次结构,这可能不是直接父级。
parent_udi
是
可选,但是索引器可以简化使用
索引维护,如 Recoll 将自动
删除 parent_udi == udi
udi
被破坏了。例如如果一个
邮政编码
档案包含
本身就是容器的条目,例如
mbox
文件,所有
Zip
文件(mbox,消息,
附件等)将具有相同的 parent_udi
,与
udi
Zip
文件以及所有
当 Zip
文件(由其文件标识
udi
)已从中删除
索引。标准文件系统索引器使用
parent_udi
。
字段
文件
Recoll
配置定义哪些文档字段是
索引
(可搜索),已存储
(可通过搜索结果检索),或两者兼而有之。 分开
在一些标准/内部领域中,只有
存储的
字段是
通过Python搜索可检索
界面。
两个特定的配置变量: pyloglevel
和 pylogfilename
允许覆盖
Python程序的通用值。 设置 pyloglevel
设置为2可取消默认设置
启动消息(在第3级打印)。
connect()
函数连接到一个或多个 Recoll 索引并返回一个
Db
对象。
此调用将初始化recoll模块,然后它 应始终在执行任何其他呼叫之前执行,或者 对象创建。
confdir
可能
指定配置目录。通常
默认设置适用。
extra_dbs
是一个
附加索引列表(Xapian
目录)。
可写
决定是否可以通过此索引新数据
连接。
Db对象由 connect()
调用并保留一个
连接到Recoll索引。
关闭连接。你什么也做不了
与 Db
对象
之后。
这些别名返回一个空白的查询
对象为此
索引。
设置用于构建代码段的参数
(上下文文本片段中的关键字集)。
maxchars
定义
摘要的最大总大小。
contextwords
定义在
关键字。
根据索引项扩展表达式
清单。 从GUI执行基本功能
术语浏览器工具。 match_type
可以是以下任意一种
通配符
,
regexp
或
词干
。 返回一个
输入中扩展的术语列表
表达。
查询
对象
(相当于Python DB API中的游标)是
由 Db.query()
创建
呼叫。用于执行索引搜索。
按 字段名称
,在
升序或降序。必须叫
在执行搜索之前。
开始搜索 query_string
,
Recoll 搜索
语言字符串。如果索引存储了
文档文本和 fetchtext
为True,请存储
文档提取的 doc.text
。
开始搜索由
SearchData对象。 如果索引存储了
文档文本和 fetchtext
为True,请存储
文档提取的 doc.text
。
获取下一个 Doc
对象
搜索结果,并将它们作为一组数组返回
所需的大小,默认为
arraysize
数据成员。
获取下一个 Doc
对象
搜索结果。 生成一个StopIteration
如果没有结果,则为例外。
关闭查询。 该对象不可用 通话结束后。
调整当前结果中的位置
组。 模式
可以是
相对
或
绝对
。
以列表形式检索扩展的查询词 对。 仅在executexx In之后才有意义 每对,第一个条目是用户列表 字词(对于简单字词,其大小为一个或多个) 对于组和短语从句),第二个 来自用户的查询词列表 术语并在Xapian查询中使用。
将Xapian查询描述返回为 Unicode字符串。 只有在之后才有意义 执行xx。
将插入范围“ class = rclmatch”,
/ span标记中的匹配区域周围
输入文本并返回修改后的文本。
可以设置 ishtml
表示输入文本是HTML,
HTML特殊字符不应
逃脱了 方法
如果set应该是带有方法的对象
startMatch(i)和endMatch()将会是
要求每场比赛,并应返回一个开始
和结束标签
为 doc
( Doc
对象),方法是选择文本
比赛条款。 如果设置了方法,将
还执行突出显示。 见亮点
方法。
这样的东西查询文档:
工作。
处理的默认记录数 fetchmany(r / w)。
最后一个返回的记录数 执行。
要从结果中提取的下一个索引。
通常在每次fetchone()调用之后增加,
但可以在调用生效之前进行设置/重置
寻找(等同于使用 scroll()
)。 从0开始。
一个 Doc
对象包含
给定文档的索引数据。 数据是
搜索时从索引中提取,或通过
更新时的索引器程序。 Doc对象具有
用户要读取或设置的许多属性。 它
大多数与Rcl :: Doc C ++对象匹配。 某些
属性是预定义的,但是,特别是当
索引,其他可以设置,其名称将
被索引处理为字段名称
组态。 输入可以指定为Unicode或
字符串。 输出是Unicode对象。 所有日期都是
指定为Unix时间戳记,打印为字符串。
请参考 rcldb / rcldoc.cpp
C ++文件,用于
预定义属性的完整描述。 这里
紧随其后。
url
文档网址,另请参见 getbinurl()
ipath
文档 ipath
嵌入式文档。
fbytes,dbytes
文档文件和文本大小。
fmtime,dmtime
文档文件和文档时间。
xdocid
文档Xapian文档ID。这在以下情况下很有用
您想通过以下方式访问文档
直接进行Xapian操作。
mtype
文档MIME类型。
默认存储的字段:作者
,文件名
,关键字
,收件人
在查询时,仅定义为
默认情况下存储
或在字段
中
配置文件将在
Doc
对象。文件
是否存在已处理的文本,具体取决于
索引会完全存储文本,如果已存储,
fetchtext
查询
执行选项。另请参见 rclextract
模块,用于访问
文档内容。
检索命名的文档属性。您
也可以使用 getattr(doc,
键)
或 doc.key
。
设置命名文档属性。您
也可以使用 setattr(doc,
键,值)
。
以字节数组格式检索URL(否 转码),用作系统的参数 打电话。
以字节数组格式设置URL(否 转码)。
返回doc对象的字典 键/值
doc对象键列表(属性 名称)。
SearchData
对象
允许通过组合子句来构建查询,
通过 Query.executesd()
。可以用在
替换查询语言的方法。的
界面会有所变化,因此没有详细说明
现在是文档...
在 Recoll 之前
1.25,索引查询无法提供文档内容
因为它从未被存储过。 Recoll 1.25及更高版本
存储文档文本,可以选择
在运行查询时检索(请参见 query.execute()
-结果是
始终是纯文本)。
摘要
模块
可以访问原始文档和
文档文本内容(如果不是索引存储的内容,或者
访问文本的HTML版本)。进入
如果原始文档特别有用
嵌入式(例如电子邮件附件)。
您需要导入 recoll
模块
“ literal“> rclextract 模块。
提取器
对象是从 Doc
对象,从
查询。
提取 ipath
和
返回 Doc
目的。 doc.text
字段具有
文档文本转换为文本/纯文本或
根据 doc.mimetype
。 典型用途
如下:
from recoll import recoll, rclextract qdoc = query.fetchone() extractor = recoll.Extractor(qdoc) doc = extractor.textextract(qdoc.ipath) # use doc.text, e.g. for previewing
通过 qdoc.ipath
到 textextract()
是多余的,
但反映出 Extractor
对象实际上有
访问其他条目的能力
复合文档。
将文档提取到输出文件中 可以明确指定,也可以创建为 调用方删除的临时文件。 典型用途:
从recoll导入recoll,rclextract qdoc = query.fetchone() 提取器= recoll.Extractor(qdoc) 文件名= extractor.idoctofile(qdoc.ipath,qdoc.mimetype)
在所有情况下,即使 要求的文件是常规系统 文件,在某些情况下可能很浪费。如果 您想避免这种情况,可以测试一下 简单文件文档如下:
not doc.ipath and (not "rclbes" in doc.keys() or doc["rclbes"] == "FS")
以下示例将使用
用户语言字符串。 参见 python / samples
目录中的
Recoll 的来源
其他例子。 recollgui
子目录有一个非常
胚GUI展示了突出显示和
数据提取功能。
#!/usr/bin/env python from recoll import recoll db = recoll.connect() db.setAbstractParams(maxchars=80, contextwords=4) query = db.query() nres = query.execute("some user question") print "Result count: ", nres if 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
更新API可用于从以下位置创建索引
常规 Recoll span>索引器,或结构化为
给 Recoll span>输入处理程序。 p>
使用此API创建的索引器将具有
与Recoll文件系统相同的工作
索引器:查找修改过的文档,提取其文本,
调用API对其进行索引,请注意清除
从文档中不存在的数据中索引
文档存储区了。 p>
应存储此类外部索引器的数据
在与 Recoll span>内部文件系统索引器。
原因是主文档索引器清除合格
(删除已删除的文档)也会删除所有
属于外部索引器的文档
在文件系统遍历期间未看到。主要索引器
文件也可能是一个问题
外部索引器自己的清除操作。 虽然有办法启用多个外部
索引器可以在单个索引上合作,这仅仅是
更容易使用单独的索引,并使用多重索引
查询界面的访问能力(如果有)
需要。 更新界面分为两部分: 基于脚本执行的接口是
定义为允许GUI或 更新方法是 添加或更新给定文档的索引数据
从所有数据中清除 测试是否需要更新索引
文件系统索引器使用的串联
文件大小的十进制字符串值和
更新时间,但是内容的哈希值可以
也可以使用。 作为副作用,如果返回值为false
(索引是最新的),则呼叫将设置
文档(和任何
由其 The use of Recoll 具有内部
内部访问文档数据的方法
(文件系统)索引器。外部索引器需要
如果需要集成,则提供数据访问方法
使用GUI(例如预览功能),或支持
索引数据和访问方法通过以下方式链接
该链接实际上是在 脚本会另外调用三个
参数:
recoll
模块允许插入
数据放入索引中,以使
普通查询界面。 rclextract
模块来访问
原始文档数据以供预览或
编辑。 recoll
模块。的
connect()方法与 writable = true
参数来获取
可写的 Db
对象。的
以下 Db
对象
然后可用方法。
udi
字符串必须为文档定义唯一的ID。
它是不透明的界面元素,不是
在Recoll中解释。 doc
是 Doc
对象,
从要建立索引的数据创建的(主
文字应位于 doc.text
)。如果 parent_udi
被设置,这是
顶级容器(例如文件系统)
索引器,这将是一个实际的
文件)。 udi
,以及所有文档(如果有)
有一个不断恶化的 parent_udi
。 udi
。如果要使用此呼叫,
doc.sig
字段
调用时应包含签名值
addOrUpdate()
。的
needUpdate()
调用
然后将其参数值与存储的值进行比较
sig
for udi
。 sig
是不透明的值
作为字符串。 parent_udi
),以便稍后
purge()
调用将
保存)。needUpdate()
and purge()
is optional, and the
indexer may use another method for checking the
need to reindex or to delete stale entries. needUpdate()
和 purge()
是可选的,并且
索引器可以使用另一种方法来检查
需要重新索引或删除陈旧的条目。 rclextract
模块。 rclbes
(后端)
存储)的 Doc
字段。您
应该将其设置为一个短字符串值,以标识
您的索引器(例如,文件系统索引器使用
Web历史记录索引器使用“ FS”或空值
“ BGL”)。后端
配置文件(存储
在配置目录中)。这定义了命令
执行以访问来自指定索引器的数据。
例如,对于在
Recoll源(设置 rclbes =“ MBOX”
):[MBOX]
fetch = /path/to/recoll/src/python/samples/rclmbox.py fetch
makesig = path/to/recoll/src/python/samples/rclmbox.py makesig
获取
和 makesig
定义两个要执行的命令
分别检索文档文本并计算
文档签名(示例实现使用
具有不同的第一个参数的相同脚本
执行两项操作。 udi
,
url
, ipath
,与文档一起存储
它已被索引,并且可以使用任何或全部执行
请求的操作。 呼叫者需要结果数据
在标准输出
上。
以下代码片段可用于确保 该代码可以与新旧API一起运行(如 只要它不使用新API的新功能 当然)。
适应新的程序包结构:
try: from recoll import recoll from recoll import rclextract hasextract = True except: import recoll hasextract = False
适应下一个
查询
会员。 可以使用相同的测试来选择使用
scroll()
方法(新)或设置
下一个
值(旧)。
rownum = query.next if type(query.next) == int else \ query.rownumber
Recoll 二进制副本 始终作为常规软件包分发给您的系统。 它们可以通过系统的常规方式获得 软件分发框架(例如 Debian / Ubuntu apt , FreeBSD 端口等),或从某些端口 提供更新版本的“ backports”存储库类型 而不是标准的,或者在 Recoll WEB网站在某些情况下。的 有关Recoll软件包的最新信息可以 通常可以在 Recoll WEB网站 下载页面
Windows 版本的 Recoll包含一个独立的安装文件,其中包含 没什么要安装的。
在类似 Unix 的系统上, 软件包管理工具将自动安装 从适当的软件包获取软件包的严格依赖关系 软件包存储库。您将不得不手工处理 用于下载的软件包(例如,当 dpkg 抱怨 缺少依存关系。
在所有情况下,您都必须检查或安装 支持的应用程序 您想要索引的文件类型 由 Recoll (文本,HTML,电子邮件文件和 其他几个)。
您也许还应该看看配置 部分(但是对于快速测试而言,这可能不是必需的 使用默认参数)。 大多数参数可以更多 从GUI界面方便地设置。
Windows Recoll 的安装 是独立的。 Windows 用户可以跳过此操作 部分。
Recoll 使用外部 应用程序来索引某些文件类型。您需要安装 它们用于您希望建立索引的文件类型 (这些是运行时可选的依赖项。不需要任何依赖项 用于构建或运行 Recoll ,但为其索引 特定的文件类型)。
索引建立后,找到的命令
可以从 recoll 文件菜单。该列表存储在
缺少
文本文件
配置目录。
过去已证明我无法维持良好状态 迄今为止本手册中的应用程序列表。请检查 http://www.recoll.org/features.html 完整列表以及首页链接或最佳链接 来源/补丁页面以及其他提示。接下来的只是 提取的稳定必需品很短。
PDF文件需要 pdftotext
Poppler 的一部分
(通常随 poppler-utils
包)。避免
来自 Xpdf 。
MS Word文档需要 反词 。它是 对于 wvWare 安装为 它可以用作某些文件的后备 反词 不 处理。
RTF文件需要 unrtf ,其中 它的旧版本在使用非西方版本时会遇到很多麻烦 字符集。许多Linux发行版都有 过时的 unrtf 版本。 检查 http://www.recoll.org/features.html 有关详细信息。
图片: Recoll 使用 Exiftool Perl 包 提取标签信息。大多数图像文件格式为 支持。
最多 Recoll 1.24,许多基于XML的格式都需要 xsltproc 命令, 通常随 libxslt 。它们是:abiword,fb2 电子书,kword,openoffice,opendocument svg。 Recoll 1.25和 稍后在内部进行处理(使用libxslt)。
以下先决条件被广泛描述 条款,而不是特定的软件包名称( 取决于确切的平台)。相关性应该是 作为大多数常见的Unix衍生产品的软件包提供, 而且,您不得不这样做非常不常见 建立其中之一。
如果不需要GUI,则可以避免使用所有GUI 通过禁用其构建来实现依赖关系。 (请参阅配置 进一步)。
购物清单:
如果您从git代码开始,则需要 自动配置 , 自动制作 和 libtool 三合会。 从tar构建时不需要它们 分布。
C ++编译器。最新版本需要C ++ 11 兼容性(1.23及更高版本)。
野牛 命令 (对于 Recoll 1.21 及以后)。
用于构建文档: xsltproc 命令,
以及Docbook XML和样式表文件。您可以
通过禁用文档来避免这种依赖
使用-disable-userdoc
配置
选项。
Xapian核心 。
如果要为较旧的CPU构建Xapian
(在Pentium 4或Athlon 64之前),您需要添加
-disable-sse
标记为configure命令。其他所有Xapian
应用程序将因非法指令
错误。
Qt 5 。 和它自己的依赖关系(X11等)
libxslt的开发文件
zlib 。
Python (或使用-disable-python-module
)。
libchm的开发文件
您可能还需要 libiconv 。在 Linux 系统中,iconv 接口是libc的一部分,您不需要 做任何特别的事情。
检查 Recoll 下载 页面以获取最新版本信息。
Recoll 已构建 在Linux,FreeBSD,Mac OS X和Solaris上,大多数版本 2005年以后应该还可以,也许也有些老 (以前使用Solaris 8可以)。如果你建立在另一个 系统,需要修改,我非常愿意 欢迎补丁。
配置选项
-不带拼写
将禁用代码的语音匹配
搜索字词。
-with-fam
或
-with-inotify
将
启用代码以进行实时索引。变声
在Linux系统上默认启用支持。
-with-qzeitgeist
将启用发送 Zeitgeist 事件,有关
访问了搜索结果,并且需要 qzeitgeist 软件包。
-disable-webkit
是
从版本1.17开始可实现结果
Qt 列出
如果执行此操作,则使用QTextBrowser而不是WebKit小部件
不或不能依赖后者。
-disable-qtgui
禁用Qt界面。将允许建立
索引器和命令行搜索程序
没有Qt环境。
-启用网络引擎
启用Qt Webengine的使用(仅当
(启用了Qt GUI),就地或Qt Webkit。
-disable-idxthreads
从1.19版开始提供
索引过程中的多线程。您可以
也使用运行时配置来限制
重新索引
使用单个线程,但使用编译时选项
可能会禁用更多未使用的锁。仅此
适用于核心使用多线程
索引处理(数据输入)。 Recoll 始终处于监视模式
使用至少两个执行线程。
-disable-python-module
将避免
建立 Python 模块。
-disable-python-chm
将避免构建Python libchm接口
用于索引CHM文件。
-disable-xattr
将
防止从扩展文件中获取数据
属性。除了一些标准属性,
提取扩展属性数据只能是
有用的是某些应用程序在其中存储数据,
并且还需要一些简单的配置(请参见
字段
配置文件)。
-启用驼峰式
将启用拆分 camelCase
单词。
默认情况下未启用此功能,因为它具有
造句的不幸副作用
搜索非常混乱:例如,“ MySQL手册”
将与
“ MySQL手册”
和
“我的SQL手册”
但
不是“ mysql手册”
(仅在词组内搜索)。
-with-file-command
指定要使用的“文件”命令的版本
(即:--with-file-command = /usr/local/bin/file)。能够
在系统上启用gnu版本很有用
本地人不好的地方。
-disable-x11mon
禁用 X11
recollindex内部的连接监视。一起
使用--disable-qtgui,可以建立recoll
没有 Qt 和
X11 。
-disable-userdoc
将避免生成用户手册。这样可以避免
必须安装Docbook XML / XSL文件和
TeX工具链,用于将手册翻译成
PDF。
-enable-recollq
启用构建 recollq 命令
行查询工具(不需要Qt的recoll -t)。
如果设置了--disable-qtgui,则默认情况下完成此操作
但是此选项可以强制执行。
-disable-pic
( Recoll 版本
最多1.21)将编译 Recoll 与位置相关
码。这与构建KIO或
Python 或
PHP 扩展,
但可能会产生非常快的代码。
当然,通常的 autoconf 配置
选项,例如-前缀
申请。
正常过程(适用于从tar中提取的源 分布):
cd recoll-xxx
./configure
make
(practices usual hardship-repelling invocations)
从git克隆的源构建时
存储库,还需要安装 autoconf ,自动制作和 libtool ,您必须执行
顶部的 sh autogen.sh
运行配置
。
可以在源代码树中找到Python界面,
在 python/recoll
下
目录。
从 Recoll 1.19开始, 该模块可以针对Python3进行编译。
正常的 Recoll 构建过程(请参见上文)将为 默认系统版本(python)以及主要版本 码。其他Python版本的套件(例如python3 如果系统默认值为python2),则必须明确 内置并安装。
python/recoll/
目录包含通常的 setup.py
。 配置和
构建主要的 Recoll
代码,您可以使用脚本来构建和安装
Python模块:
cd recoll-xxx/python/recoll
pythonX setup.py build
sudo pythonX setup.py install
我们最近没有测试过在Solaris上构建GUI 版本。您将至少需要Qt 4.4。有一些 关于旧的网站页面,它们可能仍然是 有效。
有人确实测试了1.19索引器和Python模块 建立,他们确实会工作,但有一些小故障。确定 使用GNU 制作 和 安装 。
recoll GUI
通过首选项菜单
并存储在标准Qt位置( $ HOME/.config/Recoll.org/recoll.conf
)。
您可能不想手动编辑它。
Recoll 索引选项 是在位于 配置目录。可以有几个这样的 目录,每个目录定义一个的参数 索引。
可以手动或通过编辑配置文件 索引配置 对话框(“首选项” 菜单)。 GUI工具将尝试遵循您的格式和 尽可能多地评论,因此很有可能 在相同的配置上使用两种方法。
有关配置的最准确文档 参数由默认文件内的注释给出, 我们将在这里给出总体概述。
对于每个索引,至少有两组
配置文件。系统范围的配置文件是
保存在名为 /usr/share/recoll/examples
,然后定义
所有索引共享的默认值。对于每个索引,
并行文件集定义了自定义
参数。
自定义配置的默认位置是
您的。recoll
目录中
家。大多数人只会使用此目录。
可以更改此位置,也可以添加其他位置
与 RECOLL_CONFDIR
环境变量或-c
recoll 和 重新排序索引 。
此外(自 Recoll 版本1.19.7),则有可能
指定两个其他配置目录
将在用户配置之前和之后堆叠
目录。这些由 RECOLL_CONFTOP
和 RECOLL_CONFMID
环境变量。价值观
从顶层目录中的配置文件将
覆盖用户的配置文件中的值
中间目录将覆盖系统目录并成为
被用户覆盖。这两个变量可能有用
扩展 Recoll 功能,需要添加
配置数据而不会打扰用户的文件。
请注意,两个值(当前为单个)将
可能会被解释为
未来:请勿在目录内使用冒号
路径。
如果。recoll
目录
recoll 或 recollindex 已启动,
将使用一组空的配置文件创建它。
recoll 将
让您有机会编辑之前的配置文件
开始索引。 recollindex 将继续
立即。为避免错误,自动目录
创建只会在默认位置发生,如果
-c
或 RECOLL_CONFDIR
(在后者中
情况下,您将必须创建目录)。
所有配置文件共享相同的格式。对于 例如,主要配置文件的简短摘录 可能如下所示:
# Space-separated list of files and directories to index. topdirs = ~/docs /usr/share/doc [~/somedirectory-with-utf8-txt-files] defaultcharset = utf-8
共有三行:
注释(从 # )或为空。
参数影响( 名称=值 )。
部分定义([ somedirname ])。
可以通过结束每个不完整的部分来中断长行
加上反斜杠( \
)。
取决于配置文件的类型,本节 定义可以是单独的参数组,也可以是 重新定义目录子树的一些参数。他们 保持有效,直到另一节定义或最后 的文件。用于的某些参数 索引从当前层次结构中查找 目录位置向上。并非所有参数都可以 有意义地重新定义,这是在 下一节。
Global parameters must
not be defined in a directory subsection,
else they will not be found at all by the Recoll code, which looks for them at
the top level (e.g. skippedPaths
).
全局参数 必须
不能在目录子部分中定义,
否则 Recoll 代码,该代码在
顶层(例如 skippedPaths
)。
在文件路径的开头找到波浪号 字符(〜)展开为用户住所的名称 目录,就像shell一样。
某些参数是字符串列表。 空白是 用于分离。 列出具有嵌入式空格的元素可以 用双引号引起来。 这些中的双引号 元素可以用反斜杠转义。
配置文件中的任何值都不能包含 换行符。 可以通过转义继续排长队 带有反斜杠的物理换行符,即使在引号内 字符串。
astringlist = "some string \ with spaces" thesame = "some string with spaces"
不属于字符串列表的参数不能 用引号引起来,前导和尾随空格字符是 在使用该值之前将其剥离。
编码问题大多数配置 参数为纯ASCII。两组特殊的值 可能会导致编码问题:
文件路径参数可能包含非ASCII 字符,应使用完全相同的字节值 如在文件系统目录中找到的。通常这个 表示配置文件应使用 系统默认的语言环境编码。
unac_except_trans
参数应以UTF-8编码。如果您的系统
语言环境不是UTF-8,您还需要指定
非ascii文件路径,这很困难,因为
普通文本编辑器无法处理多种编码
在一个文件中。在这种相对不太可能的情况下,
您可以将配置文件编辑为两个单独的文件
具有适当编码的文本文件,以及
连接它们以创建完整的
配置。
RECOLL_CONFDIR
定义主配置目录。
RECOLL_TMPDIR,TMPDIR
临时文件的位置,顺序为
优先。如果未设置这些选项,则默认值为
使用 /tmp
。大
在建立索引期间可能会创建临时文件,
主要用于解压缩以及处理
例如电子邮件附件。
RECOLL_CONFTOP,
RECOLL_CONFMID
允许使用以下命令添加配置目录 用户目录上下的优先级(请参阅 在“配置概述”部分上方 详细信息。)
RECOLL_EXTRA_DBS,
RECOLL_ACTIVE_EXTRA_DBS
帮助设置外部索引。看到 此 进行解释。
RECOLL_DATADIR
定义替换默认位置
Recoll数据文件,通常在例如
/usr/share/recoll
)。
RECOLL_FILTERSDIR
定义替换默认位置
Recoll过滤器,通常在例如
/usr/share/recoll/filters
)。
ASPELL_PROG
拼写 程序
用于创建拼写字典。的
结果必须与 libaspell
,其中 Recoll 正在使用。
VARNAME
Blabla
topdirs
以空格分隔的文件或目录列表 递归索引。默认为〜(索引 $ HOME)。您可以在列表中使用符号链接, 将遵循它们,独立于价值 FollowLinks变量。
monitordirs
以空格分隔的文件或目录列表 监视更新。运行时 实时索引器,这仅允许监视 整个索引区域的子集。要素 必须包含在由 “ topdirs”成员。
skippedNames
应忽略的文件和目录。 空格分隔的通配符模式列表 (简单路径,而不是路径,必须不包含/), 将针对文件和目录进行测试 名称。默认配置中的列表确实 不排除隐藏目录(名称开头 带有一个点),这意味着它可能会相当索引 一些您不想要的东西。在另一 通常,电子邮件用户代理(如Thunderbird)通常 将邮件存储在隐藏目录中,您 可能希望将此内容编入索引。一种可能的解决方案 是在“ skippedNames”中包含“。*”,并添加内容 例如“〜/ .thunderbird”,“〜/ .evolution” “ topdirs”。甚至没有索引文件名 有关此列表中的模式,请参见 “ noContentSuffixes”变量供选择 索引文件名的方法。可 重新定义任何子树。
skippedNames-
要从列表中删除的名称结尾列表 默认的skippedNames列表。
skippedNames+
要添加到默认名称的名称结尾列表 skippedNames列表。
onlyNames
常规文件名过滤器模式 设置,仅文件名不在skippedNames和 匹配其中一种模式 用于索引。 可以为每个子树重新定义。 是否 不适用于目录。
noContentSuffixes
名称结尾列表(不一定是 点分隔的后缀),我们不尝试 MIME类型标识,请勿解压缩或 索引内容。 仅名称将被索引。 这补充了现已废弃的recoll_noindex mimemap文件中的列表,该文件将在 未来的版本(从mimemap到 recoll.conf允许通过 GUI)。 这与skippedNames不同,因为 这些仅是名称结尾匹配(不是通配符) 模式),文件名本身也会被索引 一般。 可以重新定义 子目录。
noContentSuffixes-
要从默认的noContentSuffixes列表中删除的名称结尾列表
noContentSuffixes+
要添加到默认noContentSuffixes列表的名称结尾列表
skippedPaths
我们不应该进入的绝对路径。 以空格分隔的通配符表达式列表 绝对文件系统路径。必须在 配置文件的顶层,不在 小节。可以包含文件和目录。 数据库和配置目录将 自动添加。表达式是 使用'fnmatch(3)'与FNM_PATHNAME匹配 默认设置的标志。这意味着 '/' 字符必须明确匹配。您可以 将'skippedPathsFnmPathname'设置为0以禁用 使用FNM_PATHNAME(意味着'/*/dir3' 匹配'/ dir1/dir2/dir3')。默认值 包含可移动的常规安装点 媒体提醒您,拥有一个好主意 重新整理这些内容(尤其是与显示器配合使用: 介质在挂载上建立索引,所有数据被擦除 卸载)。显式添加'/ media / xxx'到 “ topdirs”变量将覆盖此变量。
skippedPathsFnmPathname
设置为0可以覆盖FNM_PATHNAME用于匹配跳过的路径
nowalkfn
将导致其父目录被跳过的文件名。 包含此名称的文件的任何目录都将被跳过,就像它是skippedPaths列表的一部分一样。 例如:.recoll-noindex
daemSkippedPaths
特定于实时索引的skippedPaths等效项。 这样可以使树的一部分最初被索引但未被监视。 如果未设置daemSkippedPaths,则守护程序将使用skippedPaths
zipUseSkippedNames
在Zip存档中使用skippedNames。 由rclzip处理程序直接获取。 跳过Zip档案中的skippedNames定义的模式。 可以为子目录重新定义。 参见https://www.lesbonscomptes.com/recoll/faqsandhowtos/FilteringOutZipArchiveMembers.html
zipSkippedNames
用空格分隔的通配符表达式列表,这些名称应在zip归档文件中忽略。 zip处理程序直接使用它。 如果未设置zipUseSkippedNames,则zipSkippedNames定义要在归档文件中跳过的模式。 如果设置了zipUseSkippedNames,则将两个列表串联并使用。 可以为子目录重新定义。 参见https://www.lesbonscomptes.com/recoll/faqsandhowtos/FilteringOutZipArchiveMembers.html
followLinks
在索引编制过程中遵循符号链接。 默认设置是忽略符号链接,以避免对链接文件进行多次索引。 当此选项设置为true时,将尽一切努力避免重复。 可以使用部分分别为每个“ topdirs”成员设置此选项。 不能在“ topdirs”级别以下进行更改。 始终遵循“ topdirs”列表本身中的链接
indexedmimetypes
索引的mime类型的限制性列表。 通常不设置(在这种情况下,将对所有受支持的类型建立索引)。 如果已设置,则仅列表中的类型将为其内容编制索引。 如果设置了indexallfilenames(默认值),则无论如何都会为这些名称建立索引。 MIME类型名称应取自mimemap文件(在某些情况下,该值可能与xdg-mime或file -i输出不同)。 可以为子树重新定义
excludedmimetypes
排除的MIME类型的列表。 使您可以从索引中排除某些类型。 MIME类型名称应来自mimemap文件(在某些情况下,该值可能与xdg-mime或file -i输出不同)。可以为子树重新定义
nomd5types
不要为这些类型计算md5。 md5校验和仅用于重复数据删除结果,在多媒体或其他大文件上进行计算可能非常昂贵。 此列表使您可以关闭选定类型的md5计算。 它是全局的(不重新定义子树)。 目前,它仅对外部处理程序(exec和execm)有效。 可以通过列出MIME类型(例如,音频/ mpeg)或处理程序名称(例如,rclaudio)来指定文件类型
compressedfilemaxkbs
压缩文件的大小限制。 我们需要将它们解压缩到一个临时目录中以进行标识,这在某些情况下可能很浪费。 限制浪费。 负数表示没有限制。 0表示不处理任何压缩文件。 默认值50 MB
textfilemaxmbs
文本文件的大小限制。 主要用于跳过日志。 预设20 MB
indexallfilenames
索引未处理文件的文件名索引由于排除或不支持的MIME类型而无法对其内容进行索引的文件名
usesystemfilecommand
在文件类型识别的最后步骤中,使用系统命令进行文件MIME类型猜测。这通常很有用,但通常会导致为许多假的“文本”文件建立索引。 有关使用的命令,请参见“ systemfilecommand”
systemfilecommand
如果内部方法失败,则用于猜测MIME类型的命令。这应该类似于“ file -i”。 文件路径将作为最后一个参数添加到命令行。 “ xdg-mime”比传统的“ file”命令工作得更好,现在是已配置的默认值(带有对“ file”的硬编码后备)
processwebqueue
确定我们是否处理Web队列。 队列是Recoll Web浏览器插件在其中创建访问页面副本的目录
textfilepagekbs
文本文件的页面大小。 如果设置了此选项,则文本/普通文件将被划分为大约此大小的文档。 将减少索引时的内存使用量,并有助于在查询时在预览窗口中加载数据。 对于很大的文件(例如应用程序或系统日志)特别有用。 另请参见textfilemaxmbs和Compressedfilemaxkbs
membermaxkbs
存档成员的大小限制。 这作为RECOLL_FILTER_MAXMEMBERKB传递到环境中的过滤器
indexStripChars
决定是否在索引中存储字符大小写和变音符号。 如果这样做,可以执行对大小写和变音符号敏感的搜索,但是索引会更大,有时可能会出现一些边缘怪异的现象。 默认值为剥离索引。 使用多个索引进行搜索时,必须为所有参数定义相同的参数。 更改该值意味着重新设置索引
indexStoreDocText
确定我们是否将文档的文本内容存储在索引中。存储文本允许在查询时从中提取代码段,而不是从索引位置数据中构建代码段。较新的Xapian索引格式在某些情况下使我们对位置列表的使用变得缓慢得令人无法接受。对于旧方法,最后一种具有良好性能的Xapian索引格式是Chert,默认为1.2,仍受支持,但1.4中不默认,将在1.6中删除。将存储的文档文本从其原始格式转换为UTF-8纯文本,但不去除大写字母,变音符号或标点符号。存储它通常会使索引大小增加10%到20%,但是还允许使用更好的代码段,因此即使您可以负担得起的空间,即使性能并不是严格要求,也可能值得启用它。该变量仅在创建索引时有效,这意味着xapiandb目录必须尚不存在。其确切效果取决于Xapian版本。对于Xapian 1.4,如果将该变量设置为0,则将使用Chert格式,并且不会存储文本。如果变量为1,将使用Glass,并存储文本。对于Xapian 1.2和1.5及更高版本之后的版本,索引格式始终是默认格式,但是变量控制是否存储文本以及抽象生成方法。在Xapian 1.5及更高版本中,并且将变量设置为0,抽象生成可能会非常慢,但是如果您根本不使用抽象生成,则此设置对于节省空间仍然有用
nonumbers
决定是否为数字生成术语。 例如,如果未设置任何数字,则不会为“ 123”,“ 1.5e6”,192.168.1.4编制索引(“ value123”仍为)。 数字通常是很有趣的搜索对象,除了特殊情况(例如,其中包含大量数字的科学文献),不应该设置数字,在这种情况下,设置数字可以减小索引的大小。 只能为整个索引设置,而不能为子树设置。
dehyphenate
确定当输入为“coworker”时是否也索引“co-worker”。 这是1.22版中的新功能,默认情况下处于启用状态。 将变量设置为off可以恢复以前的行为
backslashasletter
将反斜杠处理为普通字母这对于希望这样索引TeX命令的人来说可能是有意义的,但用途不多
maxtermlength
最大期限。 超过此长度的单词将被丢弃。 默认值为40,以前是硬编码的,但是现在可以对其进行调整。 如果更改值,则需要重新设置索引
nocjk
确定是否关闭特定的东亚(中文,日文,日文)字符/分词。 如果没有CJK文档,这将节省少量CPU。 如果您的文档库中确实包含此类文本,但是您对搜索文本不感兴趣,则设置nocjk可能会节省大量的时间和空间
cjkngramlen
这使您可以调整用于索引CJK文本的n-gram的大小。 默认值2在大多数情况下可能是适当的。 值为3将允许更长的单词具有更高的精度和效率,但是索引大约是其两倍
indexstemminglanguages
用于创建扩展数据源的语言。 词干名称可以通过执行'recollindex -l'找到,或者也可以从GUI的列表中设置
defaultcharset
默认字符集。 这用于不包含字符集定义的文件(例如:文本/纯文本)。 在文件中找到的值,例如 HTML文档中的“字符集”标记将覆盖它。 如果未设置,则默认字符集是由NLS环境定义的字符集($ LC_ALL,$ LC_CTYPE,$ LANG),或者最终是iso-8859-1(实际上是cp-1252)。 如果出于某种原因您想要一个与LANG不匹配且不是8859-1的常规默认值,请使用此变量。 可以为任何子目录重新定义
unac_except_trans
以UTF-8编码的字符列表,将文本转换为不带重音的小写字母时应特别处理。例如,在瑞典语中,带有音符的字母a具有完整的字母公民身份,不应将其转换为a。以空格分隔的列表中的每个元素都以特殊字符作为第一个元素,后跟翻译。应该指定对字符的小写和大写版本的处理,因为列表的出现将关闭标准重音和大小写处理。该值是全局值,并且会影响索引编制和查询。示例:瑞典语:unac_except_trans =äsÄoeöoeÖöüüÜüßss–oeŒoeæaeÆaeff ff fifi fl flååÅå。德语:unac_except_trans =äsöoeööüüÜüßss–oeŒoeæaeÆaeÆaeff ff fifi fifl用法语,您可能想分解oe和ae,没有人会输入德语ßunac_except_trans =ßsœŒae。除非有人抗议,否则所有默认设置都将遵循。这些分解不是由unac执行的,但是不太可能有人在搜索中键入组成的表格。 unac_except_trans =ßs–oe oeoeæaeÆaeff ff fifi fl fl
maildefcharset
覆盖未指定电子邮件字符的默认字符集。 这主要用于utf-8的readpst(libpst)转储,但不要这么说。
localfields
在所有文件(通常是特定的fs区域)上设置字段。 通常使用语法:name = value; attr1 = val1; 值是空的,因此需要一个初始分号。 例如,这对于在mimeview中设置rclaptg字段以进行应用程序选择很有用。
testmodifusemtime
使用mtime而不是ctime来测试文件是否已被修改。 除了总是使用的大小以外,还使用时间。 设置此项可以减少在使用扩展属性(被某些其他应用程序使用)但未建立索引的系统上的重新索引,因为更改扩展属性仅会影响ctime。 注意:-这可能会阻止在某些边际文件重命名的情况下检测到更改(目标将需要具有相同的大小和mtime)。 -在这种情况下,您可能还应该将noxattrfields设置为1,除非您仍然喜欢执行xattr索引,例如,如果本地文件更新模式使它具有价值(通常,纯扩展属性的风险是不进行更新)。 文件修改,使其无法检测到)。 更改此设置后,请执行完全索引重置。
noxattrfields
禁用扩展属性转换为元数据字段。 如果设置了testmodifusemtime,则可能需要设置它。
metadatacmds
定义命令以收集外部元数据,例如 tmsu标签。 可以有多个条目,用分号分隔,每个条目定义数据要进入的字段名称以及要使用的命令。 不要忘记最初的分号。 所有字段名称都必须不同。 如有必要,可以在“字段”文件中使用别名。 为了方便起见,我们将其作为一个不太漂亮的技巧,以“ rclmulti”开头的任何字段名称都将指示该命令在格式化为recoll配置文件的文本blob中返回多个字段值(“ fieldname = fieldvalue”行)。 rclmultixx名称将被忽略,并且将从数据中解析字段名称和值。 示例:metadatacmds =; 标签= tmsu标签%f; rclmulti1 = cmdOutputsConf%f
cachedir
Recoll数据的顶级目录。 Recoll数据目录通常位于相对于配置目录的位置(例如〜/ .recoll / xapiandb,〜/ .recoll / mboxcache)。 如果设置了'cachedir',则目录将以指定值存储(例如,如果cachedir为〜/ .cache / recoll,则默认dbdir将为〜/ .cache / recoll / xapiandb)。 这会影响dbdir,webcachedir,mboxcachedir,aspellDicDir,仍然可以单独指定它们以覆盖cachedir。 请注意,如果您有多个配置,每个配置都必须具有不同的cachedir,则不会自动计算cachedir下的子路径。
maxfsoccuppc
停止索引编制的最大文件系统占用量。 该值是一个百分比,对应于“容量” df输出列显示的百分比。 默认值为0,表示不检查。
dbdir
Xapian数据库目录位置。 这将在第一次建立索引时创建。 如果该值不是绝对路径,则将其解释为相对于cachedir(如果已设置)或配置目录(-c参数或$ RECOLL_CONFDIR)。 如果未指定任何内容,则默认值为〜/.recoll/xapiandb/
idxstatusfile
索引器进程用来更新其状态的暂存文件的名称。 默认值:配置目录中的idxstatus.txt。
mboxcachedir
用于存储mbox消息偏移量缓存文件的目录位置。 如果已设置,则通常是cachedir下的“ mboxcache”,否则位于配置目录下,但是在不同配置之间共享目录可能很有用。
mboxcacheminmbs
缓存偏移量的最小mbox文件大小。 缓存小文件的偏移量确实没有任何意义。 默认值为5 MB。
webcachedir
我们存储存档网页的目录。 这仅由Web历史记录索引代码使用默认值:如果设置了cachedir,则为cachedir/webcache,否则为$ RECOLL_CONFDIR/webcache
webcachemaxmbs
Web归档文件的最大大小,以MB为单位。 仅由网络历史记录索引代码使用。 默认值:40 MB。 减小大小不会物理截断文件。
webqueuedir
Web索引队列的路径。 过去在旧插件中将其硬编码为〜/ .recollweb / ToIndex,因此无需更改它,但WebExtensions插件现在将文件下载到用户的Downloads目录中,并且脚本将其移动到 webqueuedir。 该脚本从配置中读取该值,因此可以更改它。
webdownloadsdir
浏览器下载目录的路径。 这是新的浏览器附加扩展名必须创建文件的地方。 然后将它们通过脚本移动到webqueuedir。
aspellDicDir
Aspell词典存储目录位置。 通常将aspell词典(aspdict。(lang).rws)存储在cachedir指定的目录中(如果已设置),或存储在配置目录下。
filtersdir
可执行输入处理程序的目录位置。 如果在环境中设置了RECOLL_FILTERSDIR,我们将使用它。 默认为$ prefix/share/recoll/filters。可以为子目录重新定义。
iconsdir
图标的目录位置。 更改此设置的唯一原因是要更改结果列表中显示的图标。 默认为$prefix/share/recoll/images
idxflushmb
从内存刷新到磁盘索引的阈值(新数据的兆字节)。 设置此选项可以通过索引器进程对内存使用进行一些控制。 值为0表示没有显式刷新,这使Xapian可以执行自己的工作,这意味着刷新创建,修改或删除的每个$ XAPIAN_FLUSH_THRESHOLD文档:由于内存使用量取决于平均文档大小,不仅取决于文档数,因此Xapian方法不是很 有用,您应该让Recoll管理冲洗。 程序编译的值为0。现在(从该文件)配置的默认值是50 MB,在许多情况下应该可以。 您可以将其设置为10以节省内存,但是如果您要寻找最大速度,则可能需要尝试使用20到200之间的值。以我的经验,超出此值总是适得其反。 否则,请给我留言。
filtermaxseconds
外部过滤器的最大执行时间(以秒为单位)。 默认值1200(2000万)。 无限制地设置为0。 这主要是为了避免后记文件(loop.ps)中出现无限循环
filtermaxmbytes
筛选器进程的最大虚拟内存空间(setrlimit(RLIMIT_AS)),以兆字节为单位。 请注意,这包括任何映射的库(没有可靠的Linux方法仅限制数据空间),因此在这里我们需要大方一些。 在32位计算机上,任何超过2000的值都将被忽略。
thrQSizes
阶段输入队列配置。 在索引管线阶段中有三个内部队列(文件数据提取,术语生成,索引更新)。 此参数定义每个阶段的队列深度(三个整数值)。 如果给定阶段的值为-1,则不使用任何队列,线程将继续执行下一个阶段。 实际上,未显示深队列可以提高性能。 默认值:第一个队列的值0告诉Recoll根据检测到的CPU数量执行自动配置(在这种情况下,不需要其他两个值)。 使用thrQSizes = -1 -1 -1完全禁用多线程。
thrTCounts
每个索引阶段使用的线程数。 这三个阶段是:文件数据提取,术语生成,索引更新)。 计数的使用还由thrQSizes中的一些特殊值控制:如果第一个队列深度为0,则忽略所有计数(自动配置);否则,默认计数为0。 如果将值-1用于队列深度,则忽略相应的线程数。 在最后阶段使用非1的值是没有意义的,因为更新Xapian索引必须是单线程的(并由互斥锁保护)。
loglevel
日志文件的详细程度为1-6。 值2将仅打印错误和警告。 3将打印文档更新之类的信息,4非常详细,6非常详细。
logfilename
日志文件目标。 使用“ stderr”(默认)写入控制台。
idxloglevel
覆盖索引器的日志级别。
idxlogfilename
覆盖索引器的日志文件名。
daemloglevel
在实时模式下覆盖索引器的日志级别。 默认值是使用idx ...值(如果已设置),否则使用log ...值。
daemlogfilename
在实时模式下覆盖索引器的日志文件名。 默认值是使用idx ...值(如果已设置),否则使用log ...值。
pyloglevel
覆盖python模块的日志级别。
pylogfilename
覆盖python模块的日志文件名。
orgidxconfdir
配置目录的原始位置。 仅用于可移动数据集。 将配置目录放在目录树中可以使一旦数据集移动(例如,因为它已安装在另一个位置)而提供自动查询时间路径转换。
curidxconfdir
配置目录的当前位置。 为可移动数据集补充orgidxconfdir。 如果已将配置目录从数据集复制到另一个位置,则应使用此选项,这是因为该数据集是只读的并且需要一个r / w副本,或者是出于性能原因。 这会在复制之前记录原始移动的位置,以便进行路径转换计算。 例如,如果最初索引为“ /home/me/mydata/config”的数据集已安装到“ /media/me/mydata”,并且GUI从复制的配置运行,则orgidxconfdir将为“ /home/me/mydata/config”和curidxconfdir(在复制的配置中设置)将是“ /media/me/mydata/config”。
idxrundir
索引进程当前目录。 输入处理程序有时会将临时文件保留在当前目录中,因此将recollindex chdir保留到某个临时目录是有意义的。 如果该值为空,则不更改当前目录。 如果值为(文字)tmp,则使用环境设置的临时目录(RECOLL_TMPDIR否则TMPDIR否则/ tmp)。 如果该值是目录的绝对路径,则转到该目录。
checkneedretryindexscript
用于启发式检查是否需要重试以前失败的索引文件的脚本。 缺省脚本检查/ usr / bin和/ usr / local / bin上的修改日期。 相对路径将在过滤器目录中查找,然后在路径中查找。 使用绝对路径执行其他操作。
recollhelperpath
搜索助手可执行文件的其他位置。 目前仅在Windows上使用。
idxabsmlen
索引时我们存储的摘要的长度。 Recoll为每个索引文件存储一个摘要。 文本可以来自文档中实际的“抽象”部分,也可以只是文档的开头。 它存储在索引中,因此可以显示在结果列表中而无需解码原始文件。 idxabsmlen参数定义了所存储摘要的大小。 默认值为250字节。 搜索界面使您可以选择显示此存储的文本或通过提取搜索词周围的文本而构建的合成摘要。 如果您始终喜欢综合摘要,则可以减少此值并节省一些空间。
idxmetastoredlen
存储的元数据字段的截断长度。 这不会影响索引编制(无论如何都将处理整个字段),而不会影响索引中存储的用于在结果列表或预览中显示字段的数据量。 默认值为150字节,如果您有自定义字段,则可能太低。
idxtexttruncatelen
所有文档文本的截断长度。 仅索引文档的开头。 不建议这样做,除非您确定有趣的关键字位于顶部并且存在严重的磁盘空间问题。
aspellLanguage
创建aspell词典时要使用的语言定义。 该值必须与一组拼写语言定义文件匹配。 您可以键入“ aspell dicts”以查看列表。如果未设置此默认值,则使用NLS环境来猜测该值。
aspellAddCreateParam
拼写字典创建命令的附加选项和参数。 某些aspell软件包可能需要附加选项(例如,在Debian Jessie上:--local-data-dir = /usr/lib/aspell)。 参见Debian错误772415。
aspellKeepStderr
设置此项以查看aspell词典创建错误。 总是有很多,所以这主要是用于调试。
noaspell
禁止使用aspell。 生成aspell词典需要花费时间,并且aspell版本,语言和本地术语的某些组合会导致aspell崩溃,因此有时禁用此功能有时是有意义的。
monauxinterval
辅助数据库更新间隔。 实时索引器仅定期更新辅助数据库(stemdb,aspell),因为这样做对于每次文档更改而言都太昂贵了。 默认期限是一小时。
monixinterval
索引队列处理之间的最小间隔(秒)。 实时索引器不会在事件进入时处理每个事件,而是让队列积累,减少开销并聚合影响同一文件的多个事件。 默认30秒
mondelaypatterns
实时索引的时序参数。 允许在重新索引之前有较长延迟的文件的定义。 这是用于快速变化的文件,仅应偶尔重新索引一次。 WildcardPattern:seconds对的列表。 模式与fnmatch(pattern,path,0)匹配。您可以用双引号引起引用包含空格的条目(用整个条目引号,而不是模式)。 默认为空。 示例:mondelaypatterns = * .log:20“ *带空格。*:30”
monioniceclass
支持实时索引的平台上的ionice类。 预设值为3。
monioniceclassdata
ionice类参数用于实时索引过程。 在支持此功能的平台上。 默认为空。
autodiacsens
自动触发变音符号的灵敏度(仅适用于原始索引)。 如果未删除索引,请确定如果搜索词带有重音字符(不是unac_except_trans中的字符),我们是否自动触发变音符号敏感性。 否则,您需要使用查询语言和“ D”修饰符来指定变音符号敏感性。 默认为否。
autocasesens
自动触发区分大小写(仅适用于原始索引)。 如果没有剥离索引(请参见indexStripChars),请确定如果搜索词在除第一个位置以外的任何位置都具有大写字母,我们是否自动触发字符区分大小写。 否则,您需要使用查询语言和“ C”修饰符来指定字符区分大小写。 默认为是。
maxTermExpand
单个字词的最大查询扩展数(例如:使用通配符时)。 这仅影响查询,不影响索引。 我们以前根本不限制此限制(文件名的限制太小,不能超过1000),但是对于大索引来说,这是不合理的。 默认值10000
maxXapianClauses
我们添加到单个Xapian查询中的子句的最大数量。 这仅影响查询,不影响索引。 在某些情况下,术语扩展的结果可能是可乘的,因此我们希望避免消耗所有内存。 默认值50000
snippetMaxPosWalk
填充结果列表的摘要时,我们行走的最大位置数。 默认值1,000,000可能对于非常大的文档来说是不够的,其结果将是带有可能会改变含义的丢失单词的摘录。
pdfocr
如果同时安装了tesseract和pdftoppm,则尝试不包含文本内容的PDF文件的OCR。 可以在子目录中定义。 由于OCR非常慢,因此默认设置为off。
pdfocrlang
PDF OCR使用的语言。 这对于使合理的tesseract错误率非常重要。 也可以通过配置变量或目录本地参数设置。 请参阅rclpdf.py脚本。
pdfattach
通过执行pdftk(如果可用)来启用PDF附件提取。通常禁用此功能,因为即使没有找到附件,它也会使PDF索引速度变慢。
pdfextrameta
从选定的XMP元数据标签中提取文本。这是合格XMP标记名称的空格分隔列表。每个元素还可以包含对Recoll字段名称的翻译,以'|'分隔字符。如果第二个元素不存在,则将标记名称用作Recoll字段名称。您还需要将规范添加到“字段”文件中,以直接处理提取的数据。
pdfextrametafix
定义XMP字段编辑脚本的名称。这定义了要加载的用于编辑XMP字段值的脚本的名称。该脚本应使用metafix()方法定义一个“ MetaFixer”类,该方法将使用每个选定字段的合格标签名称和值进行调用,以进行编辑或擦除。为每个文档创建一个新实例,以便该对象可以保持状态,例如消除重复值。
此文件包含有关动态字段的信息
在 Recoll 中进行处理。一些
非常基本的领域具有固定的行为,而且大多数情况下,
您不应更改内部的原始数据
字段
文件。但是你可以
创建适合您的数据的自定义字段并处理它们
就像他们是本地人一样。
字段
文件具有
几个部分,每个部分定义字段的一个方面
处理。通常,您必须修改几个
部分以获得所需的行为。
在这里我们仅作简短描述,您应该 请参阅默认文件中的注释以获取更多信息 详细信息。
字段名称应为小写字母ASCII。
通过使一个字段成为索引(可搜索) 本节中定义的前缀。还有更多 有关使用了哪些前缀的完整说明 通过标准的recoll安装。简而言之: 扩展名前缀应全部大写,以 XY,简称。例如。 XYMFLD。
本节中列出的字段将存储为
Xapian
值
指数。 这使它们可用于范围查询,
允许根据现场过滤结果
值。 此功能当前支持字符串和
整数数据。 查看文件中的评论以了解更多
细节
字段被存储(可在内部显示 结果),方法是将其名称列在本节中 (通常为空值)。
本节定义了以下内容的同义词列表:
[前缀]
和 [已存储]
部分
本节还定义了标准字段名称的别名,区别在于仅在查询时使用替换,避免了该值会从文档中提取随机元数据的任何可能性。
某些输入处理程序可能需要特定的
用于处理字段的配置。 仅电子邮件
消息处理程序当前具有这样的部分(名为
[邮件]
)。 它允许
除了索引任意电子邮件标头
默认情况下索引的索引。 其他此类部分可能
将来出现。
以下是个人的一个小例子
字段
文件。 这个会
提取特定的电子邮件标头并将其用作
可搜索字段,结果内部可显示数据
列表。 (旁注:由于电子邮件处理程序不会解码
在这些值上,只能索引纯ascii标头,
并且只有第一个出现的将用于标题
发生几次)。
[prefixes] # 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 = [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
mimemap
指定
文件名扩展到MIME类型映射。
对于不带扩展名或带有
未知,系统命令( 文件 -i
或 xdg-mime )
执行以确定MIME类型(可以切换
关闭,或在主配置中更改了命令
文件)。
mimemap
必须小写。
文件扩展名小写以进行比较
在索引期间,表示大写 mimemap
条目永远不会
匹配。
可以在每个子树的基础上指定映射,
在某些情况下可能很有用。示例: okular 注释的。xml
扩展名,但应进行处理
特别地,这是可能的,因为它们通常都是
位于一个地方。示例:
[~/.kde/share/apps/okular/docdata] .xml = application/x-okular-notes
recoll_noindex
mimemap
变量已
移至 recoll.conf
并
重命名为 noContentSuffixes
,同时保留
与 Recoll 版本1.21。 对于较老的
Recoll 版本,请参见
noContentSuffixes
,但使用 recoll_noindex
“ filename”> mimemap 。
mimeconf
文件用于指定
处理不同的MIME类型以建立索引。这是
在 [index]
部分中完成,
不应随便修改。查看评论
在文件中。
该文件还包含其他定义,这些定义会影响 查询语言和GUI,回想起来, 应该存储在其他地方。
[图标]
部分
允许您更改由
recoll GUI
在结果列表中(这些值是
里面的 png
图片
iconsdir
目录(其中
本身是在 recoll.conf
)。
[类别]
部分
将MIME类型的分组定义为类别
,用于添加
rclcat
子句
默认为 guifilters
GUI中的按钮(请参阅下文)。
过滤器控件显示在 recoll GUI, 作为结果列表上方的复选框,或者作为 工具区域中的下拉框。
默认情况下,它们被标记为:媒体
,消息
,其他
,演示
,电子表格
和文本
,并且每个映射到一个文档
类别。 这是在 [guifilters]
部分,其中每个控件
由命名查询语言的变量定义
片段。
一个简单的例子有望完成 更清晰。
[guifilters] Big Books = dir:"~/My Books" size>10K My Docs = dir:"~/My Documents" Small Books = dir:"~/My Books" size<10K System Docs = dir:/usr/share/doc
以上定义将创建四个过滤器
标记为大的复选框
图书
,我的文档
,
等
等号后的文本必须是有效的查询 语言片段,并且,当按钮被选中,它 将使用AND与查询的其余部分结合 连词。
冒号之前的任何名称文本都将被删除 在显示中,但用于排序。 您可以使用它来 以您喜欢的任何顺序显示复选框。 对于 例如,以下内容与 上面,但是相反地排列复选框 订单。
[guifilters] d:Big Books = dir:"~/My Books" size>10K c:My Docs = dir:"~/My Documents" b:Small Books = dir:"~/My Books" size<10K a:System Docs = dir:/usr/share/doc
您可能已经猜到了,默认的 [guifilters]
部分如下所示:
[guifilters] text = rclcat:text spreadsheet = rclcat:spreadsheet presentation = rclcat:presentation media = rclcat:media message = rclcat:message other = rclcat:other
mimeview
指定哪个
单击打开链接。即:HTML是
通常使用 firefox ,但您可能更喜欢
Konqueror ,您的
openoffice.org 程序
可能被命名为 办公室 ,而不是
OpenOffice
等
可以通过直接编辑来更改此文件,或者 通过 recoll GUI首选项 对话框。
如果使用桌面偏好设置来
选择文档编辑器
Recoll GUI首选项,
所有 mimeview
条目都将
除了标有 application / x-all
(设置为使用
xdg-open 由
默认)。
在这种情况下, xallexcepts
顶级变量定义了一个
将处理的MIME类型异常列表
根据本地条目而不是传递给
桌面。这样一来,特定的 Recoll 选项,例如页码
或可以将搜索字符串传递给
支持它们,例如 eviness 查看器。
对于其他配置文件,正常使用
将具有 mimeview
在您自己的配置目录中,只需
非默认条目,这些条目将覆盖
中央配置文件。
所有查看器定义条目必须放置在
[视图]
部分。
文件中的密钥通常是MIME类型。您可以
添加应用程序标签以专门选择
文件系统的区域(使用本地字段
规范
mimeconf
)。的语法
关键是 mimetype
|
标签
nouncompforviewmts
条目(位于顶层,位于
[view]
部分),
之前不应该解压缩的MIME类型列表
启动查看器(如果发现它们被压缩,即:
mydoc.doc.gz
)。
每个作业的右侧都有一个命令 被执行以打开文件。下列 进行替换:
%D 文档日期
%f 文件名。这可能是名字 如果需要创建一个临时文件 一个(即:从一个 容器)。
%i 内部路径,用于子文档 的容器。格式取决于容器 类型。如果这出现在命令行中, Recoll 不会 创建一个临时文件以提取子文档, 期待被调用的应用程序(可能是 脚本)来处理它。
%M MIME类型
li>%p 页面索引。仅对 文档类型的子集,目前只有PDF, 后记和DVI文件。可以用来启动 匹配页面右侧的编辑器或 片段。
%s 搜索词。 该值只会 为带有索引页码的文档设置(即: PDF)。 该值将是匹配的搜索之一 条款。 这将允许在 例如,在Evince内的“查找”条目就很容易 突出显示该术语。
%u 网址。
除上述预定义值外,所有
像%(fieldname)
这样的字符串
将被名为的字段的值替换
文档的字段名
。
可以与现场结合使用
定制以帮助打开文档。
ptrans
指定
查询时路径转换。 这些在
多种情况。
该文件有一个节,用于需要任何索引 翻译,主要查询或其他查询 索引。 这些部分使用 Xapian 索引目录名称。 没有 路径末尾应存在斜杠字符(所有 比较是文本)。 一个例子应该做的事情 足够清晰
[/home/me/.recoll/xapiandb] /this/directory/moved = /to/this/place [/path/to/additional/xapiandb] /server/volume1/docdir = /net/server/volume1/docdir /server/volume2/docdir = /net/server/volume2/docdir
想象一下,您有某种文件可以
没有可索引的内容,但是您可以为此
喜欢拥有实用的打开 span>链接(当
通过文件名找到)。 文件名以 .blob
,可以是
由应用程序显示 blobviewer
。
您需要在配置文件中输入两个条目 这个工作:
在 $ RECOLL_CONFDIR/mimemap
(通常〜/.recoll/mimemap
),然后添加
以下行:
.blob = application/x-blobapp
请注意,MIME类型在此处构成,并且
你可以称之为 柴油/机油
一样。
在 $ RECOLL_CONFDIR / mimeview
[view]
部分,
添加:
application / x-blobapp = blobviewer%f
我们假设 blobviewer
想要
在这里使用文件名参数
%u
(如果它喜欢网址)
更好。
如果您只想更改以下用户使用的应用程序
Recoll 显示
它已经知道的MIME类型,您只需要
编辑 mimeview
。 的
您在个人文件中添加的条目将覆盖
中央配置,您不需要
改变。 mimeview
也可以
从Gui修改。
让我们现在想象上面的 .blob
文件
包含可索引文本,并且您知道如何提取
它与一个命令行程序。获得 Recoll 为文件建立索引很容易。
您需要执行上述更改,并且还要
将数据添加到 mimeconf
文件(通常在〜/.recoll/mimeconf
):
在 [index]
下
部分,添加以下行(有关
rclblob
索引脚本稍后):
application / x-blobapp = exec rclblob
或者如果文件主要是文本,而您没有 需要对其进行索引处理:
application / x-blobapp =内部文本/纯文本
在 [icons]
下
部分,您应该选择一个图标
显示结果列表中的文件。
图标通常是64x64像素的PNG文件,
居住在 /usr/share/recoll/images
。
在 [类别]
部分,
在有意义的地方添加MIME类型(您可以
还创建一个类别)。可以使用类别
在高级搜索中进行过滤。
rclblob
处理程序应
是存在于其中的可执行程序或脚本
/usr/share/recoll/filters
。 这将是
给定文件名作为参数,并应输出
标准输出上的文本或html内容。
过滤器 编程部分详细介绍了如何 编写输入处理程序。