当我在 Nautilus 中输入时过滤文件列表时,默认情况下结果列表会“按相关性”排序。这是如何定义的?是什么使一个文件比另一个文件更相关?
我可以将结果列表的默认排序更改为按字母顺序排序(又名“AZ”)吗? (我应该注意,我export LC_ALL=C.UTF-8
在我的.bashrc
, 中让 Nautilus 尊重文件名中的标点符号)
我正在使用 Fedora Silverblue 37 和 Gnome 43
答案1
关于“相关性”算法,我查看了 Nautilus 源代码,似乎文件的相关性分数是根据文件最近被访问或修改的时间、其“邻近度”(文件的接近程度)计算得出的分数总和是文件系统层次结构中的当前目录),以及搜索词的匹配程度。最后一个分数称为fts_rank
,我认为它的意思是“全文搜索排名”,这意味着它也会搜索文件的内容。
新近度得分最高可达 100,邻近度得分最高可达 10,000。我没有任何 FTS 分数的值,但想必在确定总分时它应该具有相当大的权重。
具体公式可以看这里。
答案2
根据我收集的信息,您的问题的答案是:
1 - 除了开发人员之外没有人知道:
“我们根据搜索相关性公式进行排序,但确实没有关于此顺序的 UI 提示”...
尽管人们不断询问:
“难道不能解释“按相关性排序”的设计用例和算法吗?或许可以用简短的伪代码来记录?”
2 - 你无法更改它,看来“始终默认相关性”是设计使然(不知道为什么):
需要有一种方法来恢复默认搜索结果顺序(通过结果的“相关性”)
我很想被证明是错的...