仿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:应用优先 / 匹配优先
文件夹:完全命中的在前 / 高优先级文件夹的在前
历史:直接命中永远在前 / 常用可以超过
……
参与讨论