是否能检索完整路径

先感谢作者一下,很好的工具,上手一两周就买了

使用当中有一点感觉不是很方便,_“C:\AAA\BBB\ccc.exe”_在搜索框里 _c:, ccc, exe_是可以同时搜索,是否能改成完整路径中AAA, BBB部分也可以匹配到,这样更符合树形目录命名逻辑。

输入

  • c:\AAA\BBB\ccc.exe

  • c:\AAA\BBB\ccc .exe

  • BBB\AAA\c:\ccc .exe

  • BBB\AAA\c:\ ccc .exe

  • BBB\ccc.exe AAA\c:\

都可以搜索到,参考搜索语法文档

目前只能这样 多重条件筛选,不能反映目录层级顺序。

这个搜索语法不太方便,实际是默认搜索前你已经知道目录的层级结构

  • C:\AAA\BBB\CCC.exe, 输 AAA\ BBB\ CCC
  • C:\AAA\BBB_CCC.exe, 输 AAA\ BBB CCC
  • C:\AAA_BBB_CCC.exe, 输 AAA BBB CCC

我的意思就是使用时最直观的方式是 AAA BBB CCC同时能匹配上面三种情况

这个需求两周前在英文区有人提过,然而与现在的机制 (不含 \ 的关键字仅匹配文件名) 相比,有两个缺点:

  1. 同样的关键字组合将匹配到多得多的结果,降低了匹配精度
    (不过帖主显然想到了这点,因为他提出了将匹配文件名的结果排在前面,补偿了搜索精度的损失)。

  2. 同时会大大增加搜索时间。

不过我有 一个建议 没在那里提,就在这里说吧:

  • 使用一个前缀作为开关,来临时开启路径匹配模式

比如 >> 关键字path: 关键字,后者其实就是 Everything 的语法。

这样就可以随开随用,不至于影响到每一次搜索的性能。我没提这个建议,是因为对于熟悉 Everything 的 Channing 而言,这个方案应该是显而易见的,既然他没讲,那么一定有他自己的考量。


我刚想到了另一个方案:

  • 通过后缀 / 来对每一个关键字单独开启路径匹配

例如,如果你知道 ccc 是文件名的一部分,而不确定 AAA 是文件名的一部分还是路径的一部分,就输入 AAA/ ccc 来搜索,搜索结果等于 AAA cccAAA\ccc 的结果的合并。具体用什么后缀符号可以另行考虑, 比如 ?\?p?n 这种有语义的字符串。这个方案对前述两个缺点应该都有改进。


以上建议都是语法层次的,直接面向用户,所以即使可行,开发者也会考虑整体设计,要考虑与新的语法框架的一致性和兼容性 (如果新版将会有新的语法特性)。

正在考虑相关功能,会先做些性能测试。速度可以的话默认开启,否则需要加些前缀或后缀。

1 Like