Custom Search 插件介紹
一句話定位
一個「不依賴全局索引」的 Obsidian 搜索插件——在大倉庫的窄範圍搜索中,比原生快 5-10 倍,結果 Markdown 格式渲染。
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 渲染 |
| 粗體/斜體/鏈接/代碼塊 |
筆記裡怎麼寫,搜索結果就怎麼顯示。
核心功能
| 功能 | 說明 |
|---|---|
| 文件組 | 把一組正則存成「組」,一鍵切換搜索範圍 |
| 組合 | 多個文件組疊加成更大範圍 |
| 搜索歷史 | 完整歷史面板,Ctrl+←/→ 切換 |
| 鍵盤導航 | ↑/↓ 移動,Enter 跳轉 |
| 三種顯示模式 | A(單行)/ B(三行+滾動)/ C(完整展開) |
| 結果排序 | 文件優先級 → 組優先級 → 組內模式優先級 |
| 布爾查詢 | 支持 & \| ! |
| 忽略標點、html標簽 | 忽略標點、MD語法及html語法標簽 |
| 變音符忽略 | 搜 sutra 能匹配 sūtra,雙向 |
| 顏色自定義 | 文件名、匹配行、關鍵詞、按鈕顏色全可調 |
適用場景
| 場景 | 用誰 |
|---|---|
| 倉庫很大(>5000文件),經常在固定小範圍內搜索 | |
| 希望搜索結果保留格式(粗體、鏈接、代碼) | |
| 反覆搜索同一個主題(善用歷史記錄) | |
| 想排除草稿、註釋、備份文件 | |
| —— | —— |
| 需要跨行 AND 邏輯 | |
| 需要搜索 frontmatter / 標籤 / 任務 | |
| 搜索範圍很寬(>5000文件) |
一分鐘上手
- 打開面板 — 右鍵 →「搜索面板」
- 輸入搜索 — 手動輸入,或從歷史下拉中選擇(有選中文本時會自動填入)
- 選擇範圍 — 使用預定範圍,或自定義正則(可加載已有文件組)
- 執行搜索 — 結果顯示在右側邊欄
- 瀏覽跳轉 — 鍵盤 ↑↓ 導航,Enter 跳轉
選中文本後右鍵 →「預設範圍快搜」可一鍵執行
一句話總結
原生搜索 = 每次都在整座圖書館裡檢索,館越大越慢。
Custom Search = 先把幾本書拿到桌上,只在這幾本裡翻。保持渲染。
