Obsidian 很好,但是搜索系統真的是災難

Obsidian 很好,我也使用很久了,但他的搜索系統真的太糟糕了,我已經遇過很多次這樣的情況了,例如我在寫作到一半時,想著有一個喝醉酒的女孩可以使用, 然後當我打上 喝醉 女孩 兩個關鍵詞想要搜索時發現很難找到,因為排序結果根本不是按照關聯度排序的,好的,我再次使用了line:(喝醉 女孩) ,這次我終於找到了! 但是我又遇到了令我覺得更糟糕的事情,我在很多案例筆記當中都會打上關鍵詞來讓未來的自己可以找到,於是我打上了 殺人 心理醫生 這些關鍵詞,但是不管怎麼找我都找不到,我的查詢字是 心理 殺人 這兩個詞,後來ai告訴我,你只能準確的打上 心理醫生 殺人才能找到,不然就是將心理醫生改成醫生,我想知道的是, 你們都沒有遇見過這個困擾嗎?

  • 没有使用标签吗?例如在文中添加#心理醫生。这样能够直接在标签界面查看你的全部标签,点击就可以精确的按照标签搜索。

沒有,案例太多了,都這樣打標籤標籤會亂七八糟的

某种程度来说这算依赖关键字检索的通病了……不仅返回结果的准确率低,甚至速度还慢(比如我一千多万字的库检索你这两个词就需要十多秒)。

后续优化的方向有两种:一是在搜索上下功夫,比如使用clever search之类含语义检索的插件,或者grep、rag等外部搜索方式;二是在整理上花些功夫,比如楼上说的打标签,或者分类等等。

1 个赞

嗯,我會使用插件看看,我是有moc,但是你寫作到一半然後再從moc進去尋找需要很多步驟,有時找到靈感都沒了,又要重新進入寫作狀態,這個全局搜索沒辦法改善嗎?

1 个赞

倒也不算没法改善,只能说是随着库的不断增大新的问题会不断出现。

印象中clever search就已经带相关度排序了,这可以解决你当下的问题。但是当你库的体量进一步增大,首先你的搜索速度就会变慢。其次即便有相关度排序,你还是需要在搜索结果中翻找自己想要的东西。这基本都会打断你的写作灵感。

所以对我自己来说,对于不能断的灵感,我基本不会在写作的时候去查东西(因为就算找的再快都会打断思路)。其次就是我有自己的整理方法,保证我3-5秒能能找到所需的笔记内容,这样一般的写作场景可以随时查找。

若只看搜索这个方面,可以试试用VSCode来进行搜索,会比ob的搜索快很多。(VSCode的启动也很快,所以还是能用。)
算是个小方法吧哈哈哈

我是有裝cursor,用來批量替換挺好用的,obsidian 我目前裝了幾個搜索插件,基本上都是會遇到中文切詞的問題……原生的雖然沒有排序,好歹找久了找得到,插件很多時候會返回無結果。 等改善吧,我看obsidian 的計畫表上似乎有關聯度計畫。

ob支持query语法,为了减少打断,可以直接插入搜索文本,然后往下写:

```query
line:(殺人 心理)
```

我试了下,还是可以搜到的,不是一定要写“心理医生”

参考:Search - Obsidian Help

这确实是一个问题,不说语义模糊搜索,起码不能漏词。目前还没遇到官方搜索漏词的情况,刚测试了下,杀人心理医生,是可以通过“杀人 医生”搜索到的。但要空格分开才行

嗯,原生系統找得到,只是要找很久,omni Search等插件找不到,query我很少用,但是沒有排序權重可能會比較好找到?

我平時也是用line或是block下去找,但全局搜就是依檔名跟編輯時間排序,現在是考慮將關鍵詞放在yaml區域而不是內文,看使用屬性下去找會不會比較好找到。

比較希望關聯度搜索跟base搜索能夠早點實裝

clever search,社区没有这个插件吧?
到哪里下载呀?

你可以尝试使用Visual Studio Code或其它编辑器访问你的仓库,然后用该编辑器在整个仓库中搜索内容。

注:Visual Studio Code for Web

安装后参考这个https://pkmer.cn/Pkmer-Docs/10-obsidian/obsidian社区插件/obsidian-clever-search/
不过下载引擎好慢,就几十KB,一共近1G

你这个还算好的,只是两个词的关联模糊搜.我用joplin才崩溃,完全是空格分词.例如twittertuitex.com,我单独搜tuite,都啥也搜不到,用tuite,body:tuite,全都搜不到,貌似是sql FTS4 的结构本身问题.