Recoll
在 recoll 中使用相對路徑
我正在使用 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
在這樣的路徑中尊重符號連結,還是在建構其索引時確定物理位置並使用它。