仿Listary软件「结果排序算法」遇到难题,求佬友指点

请版主明鉴,本贴不是开源软件推广贴,除一处必要的超长文件GitHub仓库引用外,无任何站外链接。
我真的只是想来问问大家的意见和想法的,软件还没有成熟到生产可用的级别,等我优化完了再开贴推荐。


我维护了一个仿Listary的软件,但现在在结果排序算法上遇到了难题。

也不方便直接给软件使用者强制发问卷,不然太败好感了,剧透

并且几个提出issue的人少且意见相互不统一,我自己也没啥主见,反复改来改去导致现在排序算法变成了四不像,不满意的人更多了……

我打算重写,但实在是没有什么方向,初步想法是排序需要符合「直觉」……但是这个「直觉」不同人又不一样……

实在没招了,向佬友们求助

现在的顺序(简化,从上到下)

详细的说明太繁琐了,请移步 search-ranking-intuition-plan.md

用户可以调两个设置,文件夹优先级(低中高,默认中)和搜索结果排序(应用、文件、系统设置哪个先)

注:第7条只在前面所有项全部打平时才生效

下面是大家投票的地方

搜索 jt

候选 类型 为什么命中
「jt」 文件 名字完全一致
「截图」 文件夹 简拼 j-t 覆盖全名
「屏幕截图」 文件 简拼只覆盖后两个字 j-t
「Jietu.exe」 应用 全拼 jietu

输入 jt,你希望的顺序是?

  • 「jt」(文件,名字完全一致)
  • 「截图」(文件夹,简拼覆盖全名)
  • 「屏幕截图」(文件,简拼只覆盖后两个字)
  • 「Jietu.exe」(应用,全拼)

点击以查看投票。

wps

  • 「WPS Office」(应用,前缀命中)
  • 「wps」(文件夹,名字完全一致)
  • 「WPS笔记.docx」(文件,前缀命中)

如果用户选择了「应用优先」,不完美匹配的WPS Office是否应该排在完美匹配的wps文件夹之前?

  • 是
  • 否

点击以查看投票。

文件夹优先级,

A文件夹标了「高优先」,里面「报告2025.docx」只匹配到一部分
B文件夹「正常优先级」,里面同名「报告2025.docx」完全命中。

哪个先?

  • A
  • B

点击以查看投票。

历史

搜索 q3

  • 「Q3报告.xlsx」名字直接命中
  • 「2025年度第一季度营收报表-分表其一(1)(2)(3).docx」文字命中了「其」的首字母和「3」,但是打开次数5次以上

哪个先?

  • Q3报告.xlsx
  • 季度一营收报表分表其一(1)(2)(3).docx

点击以查看投票。

最后

如果您有其它想补充的内容,也可在下方补充,格式不限(下面仅为参考),大体说明白在某某特例下谁优先就好(要是哪位大佬愿意出手直接提pr把逻辑重新梳理一遍,那我真得狠狠磕头了Orz)

jt:应用优先 / 匹配优先
文件夹:完全命中的在前 / 高优先级文件夹的在前
历史:直接命中永远在前 / 常用可以超过
……
参与讨论