搜索结果的匹配块的排列逻辑是什么呢?

本贴最后更新于 382 天前,其中的信息可能已经事过境迁

我之前提了一个反馈(希望能优化两个关于搜索结果的问题 - 链滴 (ld246.com)),在其中的第二点上提到了希望支持标题(或者说是“字母”)排序。

我现在又重新琢磨了一下搜索功能,发现我弄不懂搜索结果的匹配块的排列逻辑 😂

首先,我请问在排序方式中,那些排序要素应该都是针对“块”而不是“文档”吧?

Snipaste20240517162305.png

按“相关度排序”是什么意思呢?

如果这些排序方式都是针对的“块”的话,那么我想要的“按标题或字母排序”指的是“按文档的标题或字母排序”。

当排序方式是默认选择“类型”的情况下,我测试了一下,但我搞不懂匹配块的排列逻辑:

Snipaste20240517165821.png

为什么两个文档中匹配的表格块不是排列在一起咧?

为什么列表块的块标也是段落块呢?(我知道“搜索类型”中默认没有勾选列表和列表项,但还是不明白为什么。)

这些块的排列的先后顺序的依据是什么?

下图是“按相关度升序”的匹配结果,我也搞不懂它们的先后顺序的依据是什么?

Snipaste20240517170222.png

我觉得似乎有必要在用户指南中有一个专门的章节来解释其中的搜索匹配逻辑?

我提供的示例只是一个很小的测试集。当笔记比较多的时候,就更容易弄不懂匹配结果的排列逻辑。

就算我不理会其中的排列逻辑,但它们给我带来的最大困扰是同一个文档的块不一定会排列在一起,可能在搜索结果的第一页有 A 文档的一些块,然后再第四页又有 A 文档的一些块。B 文档的块可能也是如此分散。

我个人认为相对友好且易懂的搜索匹配的默认设置:“按文档分组”,块是“按原文内容顺序排序”,然后文档名包含对应关键字的文档优先排在最上面,并支持用户选择按文档名排序。

Snipaste20240517171146.png

有热心人可以解答一下我的疑惑吗?也可以说说你对 Siyuan 目前的搜索匹配的设计的看法?

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25789 引用 • 106756 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • syjack
    作者

    懂了不少,谢谢。

    在搜索类型中没有默认勾选引述块、列表块和列表项快,在搜索匹配中,它们都会被默认看作为段落块,是这样吗?我个人觉得这样的设计好像有点拧巴,尽管理解之后就挺好明白的。

  • 其他回帖
  • 88250 1

    默认的块类型排序是按块类型的 sort 值升序的,sort 值可参考 用户指南 - 数据库表 章节,当 sort 值相同时再按块更新时间降序。

    “相关度”排序指的是关键字在内容中的相关性,简单理解就是如果一段内容中关键字出现多次,则相关性更高,具体的排序算法用的是 SQLite FTS5 rank

    按文档分组不作为默认,因为大多数场景下需要的是搜索散列在不同文档中的关键字,如果用户的使用场景刚好是需要默认文档分组,可以考虑使用 保存查询条件 满足需求。

    1 回复
  • JeffreyChen 1 1 评论

    “引述块”可以包含“段落块”,不相等

    我琢磨了一下,我想我理解了那个被包含的段落块了,谢谢。
    syjack
  • Wetoria 1 via macOS

    关于你说的列表块:

    一个“一行”的列表,实际上包含“列表”、“列表项”、“段落”三个块。你没开启列表和列表项,所以搜索结果里只有列表中的“段落块“

    1 回复
  • 查看全部回帖

推荐标签 标签

  • Follow
    4 引用 • 12 回帖 • 4 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 2 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 596 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 677 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 463 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    554 引用 • 675 回帖
  • Anytype
    3 引用 • 31 回帖 • 24 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 733 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    16 引用 • 236 回帖 • 254 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 395 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 763 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 12 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖 • 1 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 5 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 650 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    22 引用 • 148 回帖 • 8 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 3 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 386 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    29 引用 • 230 回帖 • 125 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 52 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 2 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    326 引用 • 1395 回帖
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    227 引用 • 476 回帖
  • AWS
    11 引用 • 28 回帖 • 3 关注