Full-text vault search for Obsidian
Profile-based ranking · extended query grammar · offline-first
Site · README.ru · glyph-s · glyph-miO
glyph-sO is an Obsidian community plugin for full-text search across your vault. Unlike Obsidian’s built-in quick switcher (Ctrl+O), which matches file names only, glyph-sO indexes note content and ranks results with contextual snippets — so you can find ideas buried inside paragraphs.
The plugin is part of the Glyph 2.7 family and runs on the shared glyph-s search engine.
| Obsidian quick switcher | glyph-sO | |
|---|---|---|
| Matches | File names | Full note text |
| Snippets | No | Yes — jump to the match |
| Query filters | Limited | path:, tag:, phrases, OR, excludes |
| Offline | Yes | Yes (Ollama optional) |
Search profiles — tune the balance between speed and depth:
| Profile | Best for |
|---|---|
legacy |
Maximum compatibility with pre-2.7 behavior |
balanced |
Default — good speed and relevance for daily vaults |
max-quality |
Deeper fuzzy matching, more candidates scanned |
Extended query grammar — compose precise searches:
"path:projects/" → notes in a folder
tag:evergreen → filter by tag
"deep work" -draft → phrase match, exclude drafts
(task OR todo) type:note → OR group with type filter
path: journal tag:daily → combine filters
Modular architecture — search logic moved to services/search-engine.js, powered by the vendored glyph-s 2.7 engine. Easier updates and consistent ranking with other Glyph products.
Compact mode — minimalist panel spacing (enabled by default). Toggle in Settings → Compact mode.
Cached ranking path — token-variant expansion and snippet generation use the engine’s 2.7 caches for smoother scrolling through large result sets.
- Download the latest release from Releases.
- Extract into your vault:
.obsidian/plugins/glyph-s-o/
├── manifest.json
├── main.js
├── styles.css
├── services/
│ └── search-engine.js
└── vendor/
└── engine.js
- Enable glyph-sO in Settings → Community plugins.
| Action | How |
|---|---|
| Open search | Ribbon icon 🔍 or command palette → Glyph: search vault |
| Navigate results | ↑ ↓ arrow keys |
| Open note at match | Enter |
| Recent queries | Shown when the input is empty |
Tip: Obsidian’s Ctrl+O finds files by name. Use glyph-sO when you remember what you wrote, not where you saved it.
| Setting | Description |
|---|---|
| Search profile | legacy / balanced / max-quality |
| Compact mode | Minimalist result panel (default: on) |
| Match all words | Require every token to match (AND vs OR) |
| Fuzzy layout | EN↔RU keyboard layout correction |
| Fuzzy transliteration | Rough Latin↔Cyrillic matching |
| Ollama query enrich | Optional local LLM query expansion |
| Hide hotkey hint | Remove shortcut hint from the modal |
For summaries and tag suggestions on the active note, install glyph-miO alongside glyph-sO. Together they cover search + metadata intelligence in Obsidian.
main.js # Obsidian plugin entry, UI, vault indexing
services/search-engine.js # Adapter: settings → glyph-s rankSearchItems
vendor/engine.js # Bundled glyph-s 2.7 (CJS)
styles.css # Panel styles incl. .glyph-so-compact
The plugin builds a search index from vault markdown files and passes items to rankGlyphResults() with the user’s profile and fuzzy settings.
When glyph-s is updated, rebuild the Obsidian CJS bundle and copy it:
cd ../glyph-s
npm run bundle:obsidian
cp dist/glyph-search-cjs.js ../glyph-sO/vendor/engine.jsOr from this repo:
npm run vendor| Path | Role |
|---|---|
main.js |
Plugin class, modal, settings tab, index builder |
services/search-engine.js |
rankGlyphResults, queryAlternatives |
vendor/engine.js |
rankSearchItems, snippetForItem, parseSearchQuery |
.github/workflows/release.yml |
Packages services/ + vendor/ into release zip |
.github/workflows/pages.yml |
Deploys docs/ to GitHub Pages |
The release workflow zips manifest.json, main.js, styles.css, services/, and vendor/ so the module-based runtime works out of the box.
| Repo | Role |
|---|---|
| glyph-s | Shared search engine core |
| glyph-miO | Metadata intelligence for Obsidian |
| glyph-mi | Universal MI core |
GPL-3.0 · Floke Studio