[插件]Custom Search:不用索引、即時搜索、自由組建搜索範圍

Custom Search 插件介紹

一句話定位

一個「不依賴全局索引」的 Obsidian 搜索插件——在大倉庫的窄範圍搜索中,比原生快 5-10 倍,結果 Markdown 格式渲染。

:link: GitHub:GitHub - arpcn/obsidian-custom-search · GitHub


原生搜索的問題

原生搜索依賴全局索引。倉庫一大,每次搜索都要掃描整個索引,耗時隨倉庫線性增長。

Custom Search 的做法:不要索引,只搜指定的文件。

預先設定好範圍(如某個文件夾下的 50 個文件),它就只讀這些文件。搜索時間只跟「目標文件數」有關,跟倉庫總大小無關。


性能對比(2-3萬文件實測)

場景 Custom Search 原生搜索
首次搜索(剛打開 Obsidian) 0.3-0.8秒 2-4秒(載入索引)+ 1-3秒
後續搜索(同一會話) 0.2-0.5秒 1-3秒
搜索範圍很窄(<100文件) 0.1-0.3秒 1-3秒
搜索範圍很寬(>5000文件) 2-5秒 1-3秒
文件變更後搜索 0.2-0.5秒 1-4秒
內存佔用 <20MB 50-100MB
啟動 Obsidian 開銷 無影響 載入索引 2-4秒

窄範圍(<500文件)是 Custom Search 的優勢區(文件名正則匹配後的範圍),快 5-10 倍。寬範圍(>5000文件)原生更快。


結果渲染:原生 vs Custom Search

原生搜索 Custom Search
匹配行顯示 純文本片段 完整 Markdown 渲染
粗體/斜體/鏈接/代碼塊 :x: 丟失 :white_check_mark: 保留

筆記裡怎麼寫,搜索結果就怎麼顯示。


核心功能

功能 說明
文件組 把一組正則存成「組」,一鍵切換搜索範圍
組合 多個文件組疊加成更大範圍
搜索歷史 完整歷史面板,Ctrl+←/→ 切換
鍵盤導航 ↑/↓ 移動,Enter 跳轉
三種顯示模式 A(單行)/ B(三行+滾動)/ C(完整展開)
結果排序 文件優先級 → 組優先級 → 組內模式優先級
布爾查詢 支持 & \| !
忽略標點、html標簽 忽略標點、MD語法及html語法標簽
變音符忽略 sutra 能匹配 sūtra,雙向
顏色自定義 文件名、匹配行、關鍵詞、按鈕顏色全可調

適用場景

場景 用誰
倉庫很大(>5000文件),經常在固定小範圍內搜索 :white_check_mark: Custom Search
希望搜索結果保留格式(粗體、鏈接、代碼) :white_check_mark: Custom Search
反覆搜索同一個主題(善用歷史記錄) :white_check_mark: Custom Search
想排除草稿、註釋、備份文件 :white_check_mark: Custom Search
—— ——
需要跨行 AND 邏輯 :white_check_mark: 原生
需要搜索 frontmatter / 標籤 / 任務 :white_check_mark: 原生
搜索範圍很寬(>5000文件) :white_check_mark: 原生

一分鐘上手

  1. 打開面板 — 右鍵 →「搜索面板」
  2. 輸入搜索 — 手動輸入,或從歷史下拉中選擇(有選中文本時會自動填入)
  3. 選擇範圍 — 使用預定範圍,或自定義正則(可加載已有文件組)
  4. 執行搜索 — 結果顯示在右側邊欄
  5. 瀏覽跳轉 — 鍵盤 ↑↓ 導航,Enter 跳轉

:bulb: 選中文本後右鍵 →「預設範圍快搜」可一鍵執行


一句話總結

原生搜索 = 每次都在整座圖書館裡檢索,館越大越慢。

Custom Search = 先把幾本書拿到桌上,只在這幾本裡翻。保持渲染。

3 个赞

不错,期待成为skill的一员