在recoll中使用相对路径

在recoll中使用相对路径

我正在使用 recoll 在本地索引我的文件,到目前为止它工作得非常好。但是,我希望路径相对于 recoll.conf 或 recoll 索引目录,以便我可以根据需要移动文件。

这可能吗?

答案1

用户手册说明如下关于在定义中使用相对路径的一些信息dir:

摘抄

字段语法还支持一些类似字段但特殊的条件:

dir用于过滤文件位置的结果(例如 dir:/home/me/somedir:)。-dir还可以查找不在指定目录中的结果(版本 >= 1.15.8)。波形符扩展将照常执行(版本 1.19 至 1.19.11p1 中的错误除外)。通配符将被扩展,但请查看路径过滤器中通配符的一个重要限制。

相对路径也有意义,例如,dir:share/doc可以匹配/usr/share/doc/usr/local/share/doc

除了该功能和搜索相关目录的能力之外,我没有提及任何其他将索引锚定到配置文件所在目录的方法。

可能的黑客攻击

一个可行的想法是从配置文件所在的目录创建一个符号链接,以表示系统的顶层,或者您希望索引器引用其“TOP”的位置。然后,您可以将符号链接的路径指定为dir:配置文件中的路径。

$ ln -s /path/to/top/of/index /etc/recoll/somelink

假设将此recoll符号链接用作其“TOP”,您基本上可以使用符号链接作为外部配置项,当您移动数据库时,它可以“吸收”路径的可变性质recoll,但仍然允许索引有效的。

 dir:/etc/recoll/somelink

不过,这必须经过测试才能确认它是否有效。我不知道recoll在构建索引时是否尊重路径中的符号链接,或者确定物理位置并使用它。

相关内容