我目前能想到的实现方式如下:
- 解析文档,将连接关系存储到数据库 (sqlite等)
- 实时搜索
- 文档本身的存储结构原生支持
以我的理解,org-roam用的方式1,由于emacs是单线程,要解析的文件较大时效率较低;RoamResearch用的方式3,基于 Datomic 数据库构建,查询效率高,但是数据不好迁移。
好奇Obsidian、Logseq等其他基于Markdown的双链笔记是用的什么机制。主要是我的笔记条目有点多,org-roam-ui的local模式要比global模式有用很多:
我有多个较大的org文件,每次解析文档的时间都挺久。Backlink在我的应用场景中会挺有帮助,但是因为这个原因,一直没有用起来。感觉Obsidian等双链功能都很快,不确定是不是大部分人的笔记链接不多的原因,还是实现机制的问题。恳请指教!