Michael Naumov23 downloadsMakes core Search fast on large vaults, with the same results, through a trigram index kept in IndexedDB.
Core Search has no index: every query reads every note in the vault and runs its matcher on each one. On a vault of tens of thousands of notes that is half a second to a second per query, every time. The fast search plugins answer in a search box of their own, with their own query language and their own, different results.
Indexed Search keeps core Search and makes it fast. It keeps a trigram index of your notes in IndexedDB and, for each query, hands core Search only the notes that can possibly match, so core reads and checks those instead of the whole vault. The pane, the query syntax and the matcher are core's own, so the results are exactly the ones core Search gives without the plugin. On a 37,000-note vault, queries came back 4 to 5 times faster. The index lives outside memory, adds nothing measurable to it at rest, and survives a restart or a crash without a rebuild.
The documentation is a demo vault. Every feature has a note that explains what it does and why you would want it, with a button that runs a search in the Search pane so you can watch it happen.
Start reading here — it is plain markdown, so it works on GitHub with nothing installed.
A copy of the vault ships with every release. You can access it via any of the following:
Indexed Search: Open demo vault command.indexed-search-demo-vault.zip from the Releases. It unzips into a single indexed-search-demo-vault-<version> folder.demo-vault/ in this repository.lantern only if it contains lan, ant, nte, ter and ern, so every note missing one of them is skipped unread: see Core Search, narrowed.OR, -, parentheses, regular expressions, file:, path:, tag:, content:, match-case: and ignore-case: all narrow. Any query part the index cannot check, such as a term of one or two characters, /\d+/, a property or line:, leaves core to read every note, as it does without the plugin.shouldNarrowSearch setting turns narrowing off, with no restart, so you can time core Search alone or rule the plugin out. Every setting is listed by its data.json key in Settings.| Plugin | Features | How Indexed Search differs |
|---|---|---|
Advanced search |
adds VS Code-like search controls to core Search | Complements it: changes no control, makes the search itself faster |
Better Search Result Views |
groups core Search results under their headings and finds words split by line breaks | Complements it: leaves the results and their view alone |
Better Search Views |
shows core Search, backlinks and query results as outliner-like context trees | Complements it: leaves the result view alone |
CFR Find |
its own search box over a worker-powered index, with typo-tolerant fuzzy matching | Same goal, different engine: keeps core Search's pane, syntax and exact results |
CJK Search |
matches equivalent CJK and compatibility characters in Search and other views | Complements it: does not change what a query matches |
Core Search Assistant |
a keyboard interface and bigger previews for core Search | Complements it: no interface of its own |
Fast Find 10K |
fast fuzzy search for large vaults, titles first, then headings, then content | Same goal, different engine: no separate search box or ranking; core Search answers |
Lean Search |
its own quick search with precise matching and frecency ranking | Same goal, different engine: core Search's own results and order |
Native Search |
answers from the operating system's index (macOS Spotlight) in its own view | Same goal, different engine: an index of its own on every platform, and core Search answers |
Native Search Replace |
adds replace controls to core Search | Complements it: no replace; only fewer files to read |
Omnisearch |
its own fuzzy, ranked search box over a persistent index, with PDFs and OCR | Same goal, different engine: keeps core Search's pane, syntax and exact results |
Power Explorer |
a file explorer with instant word-prefix search for huge vaults | Same goal, different engine: substrings and regexes, through core Search |
Vault Finder |
its own fast full-text search, with optional AI keyword expansion | Same goal, different engine: core Search's exact results, no AI |
VaultDex |
relevance-scored full-text search with PARA filters and its own operators | Same goal, different engine: core Search's query language and results |
Last searched for similar plugins on 2026-11-01.
Indexed Search publishes a typed API (contract 1.0.0) whose search(query) answers a query written in core Search's own syntax with exactly the files core Search lists, because core's own parser and matcher decide. It is declared in api.d.ts with its contract in api-contract.ts. How to reach it, its options and what a hit carries are in 03 For plugin developers.
The plugin is available in the official Community Plugins repository.
To install the latest beta release of this plugin (regardless if it is available in the official Community Plugins repository or not), follow these steps:
Add plugin button once and wait a few seconds for the plugin to install.By default, debug messages for this plugin (id: indexed-search) are hidden.
If you need to enable them refer to the documentation.
All notable changes to this project will be documented in the CHANGELOG.
Contributions are welcome — see CONTRIBUTING to get set up.
Open issues through the issue forms, not as blank issues.
To report a bug from inside Obsidian, run the Indexed Search: Report a bug command. It opens the bug form with the plugin version, the Obsidian version and your operating system already filled in.
Filing from the CLI or the API (gh issue create --body, or an AI agent filing for you) skips the form, and gh issue create --template cannot load an issue form. In that case, open the matching form in .github/ISSUE_TEMPLATE/, copy every field as a ### <label> heading in the form's order, and fill in each one. Always state the plugin version, the Obsidian version and your operating system.
© mnaoumov