块引排序问题

本贴最后更新于 1064 天前,其中的信息可能已经时移俗易

1.9.7 下,如下图,我不清楚现在这是按什么顺序排的,从逻辑上讲,我认为红框标的内容应该排在第一个

image.png

而 1.9.6 中,排序在逻辑上是正确的:

image.png

此外,1.9.7 中,按照下图操作,搜索结果中的第一个是无意义内容:

temp212.gif

1.9.6 中也有,但排序在后面,所以平时使用时不会被影响到:

image.png

  • 思源笔记

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

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

    24397 引用 • 99657 回帖 • 3 关注
1 操作
fangly 在 2022-04-07 17:22:31 更新了该帖

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • v1.9.7 改过搜索排序实现 Issue #4493 · siyuan-note/siyuan 看来还是不太好用,得继续改进。

    这个问题主要是因为 length 字段影响,列表项 线段树+ 子项 ccc 的长度大于了上面单项 abc 是 线段树 的长度,因为目前的长度是使用 markdown 字段得出的,这个里面包含了标记符和换行符。

    下个版本我们把 length 值取自 content 应该就正确了 Issue #4530 · siyuan-note/siyuan

    最后提到的那个忽略当前块暂时先不改进了。

    1 回复
  • fangly

    问题 1:sort 字段中有考虑被引用次数吗,我认为排序时首先看匹配程度,然后看被引用次数,之后再是其他,像下图中,红框标出的被引用次数有 2,其他都是 0,这个应该排在最前面:

    image.png

    问题 2:测试时又发现一个古老 bug,锚文本为空时应该显示列表项的第一个块,可以看到刚引用时并不是,我得修改一下锚文本再清空锚文本才行:

    temp215.gif

    问题 3:单论匹配程度,我认为下图中,也是红框中的列表项匹配程度最高(我在搜索设置中过滤掉了段落块),该列表项的第一个块和搜索内容完全匹配。

    image.png

    这在实际使用过程中非常常见,比如说我想要写关于 线段树 的内容,如下图,我有三种选择:1. 我可以单独新建一个文档叫线段树,2. 可以列一个标题叫线段树,3. 可以使用列表,在列表项的第一个段落块上写上线段树,三者是等价的。我在其他地方想引用线段树时,如果是文档块或标题块的话,目前没问题,都是排序在第一个,但当我用列表时,排序就出现问题,我想要引用的内容并不在最前面,甚至可能在非常后面。不清楚在技术上实现这个排序逻辑方不方便,不方便的话,只要把问题 1 解决,大部分情况下也还能用。

    image.png

    1 回复
    1 操作
    fangly 在 2022-04-07 22:15:12 更新了该回帖
  • 收到,问题 1 和 3 看上去好像是一样的,我们先按照长度排序的逻辑实现,按引用计数排序太复杂了,目前还没有找到实现方案。如果有一个需要强调排序的,可以指定命名试试,命名的排序优先级是最高的。

    问题 2 下个版本修复 Issue #4536 · siyuan-note/siyuan

    1 回复
  • fangly

    问题 1 和 3 不一样,问题 1 和引用数量有关,问题 3 和引用数量无关,和 https://ld246.com/article/1649338100756 这个问题有一定关联

    首先我在搜索设置中关闭了段落块

    然后比如说我在某文档中写了关于 线段树 的内容,在顶级节点上写线段树,子列表中写线段树的具体内容,子列表中会大量包含 线段树 这个关键字

    然后我在其他地方想要引用 线段树,讲道理应该引用最外层这个列表项,这个列表项的第一个块的内容和 线段树 关键词完全匹配,但是实际搜索结果中,因为最外层列表项长度最长,所以会排在最后

    image.png

    而如果我在搜索设置中打开段落块,这时候搜索的第一个结果和我想要的结果非常近,但可惜是段落块,我想要外层的列表项块

    image.png

    这个问题可以和 https://ld246.com/article/1649338100756 这个帖子一起考虑下

推荐标签 标签

  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 55 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 19 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 610 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 212 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 662 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 145 关注
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 816 回帖 • 2 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    84 引用 • 324 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 76 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 172 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 2 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 3 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 3 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    146 引用 • 267 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 32 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 76 回帖
  • Follow
    4 引用 • 12 回帖 • 2 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 94 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖
  • Python

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

    548 引用 • 674 回帖 • 1 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 383 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 149 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 738 关注