Recoll

在 recoll 中使用相對路徑

  • September 12, 2014

我正在使用 recoll 在本地索引我的文件,到目前為止它工作得非常好。但是,我希望路徑相對於 recoll.conf 或 recoll 索引目錄,以便我可以根據需要移動文件。

這可能嗎?

使用者手冊說明了以下有關在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在這樣的路徑中尊重符號連結,還是在建構其索引時確定物理位置並使用它。

引用自:https://unix.stackexchange.com/questions/155127