Glyph provides powerful search capabilities backed by SQLite full-text indexing, making it easy to find any note regardless of how large your space grows.
Full-Text Search
Opening Search
Access search in multiple ways:
Press Cmd+P (macOS) or Ctrl+P (Windows/Linux) to open the command palette with search.
Click the search icon in the toolbar.
Open the palette and start typing to search.
Search Behavior
When you type a search query:
- Debounced: Waits 180ms after you stop typing
- Full-text: Searches note titles and content
- Ranked results: Most relevant notes appear first
- Live updates: Results refresh as you type
Note
Search queries are case-insensitive and support partial word matching.
Search Syntax
Basic Search
Type any word or phrase:
project alphaFinds notes containing both “project” and “alpha”.
Phrase Search
Use quotes for exact phrases:
"user interface design"Finds notes with that exact phrase.
Keyword Matching
Glyph tokenizes your query and searches for:
- Individual terms: Each word is a search term
- Minimum length: Terms must be 2+ characters
- Stopword filtering: Common words like “the”, “a” may be filtered
Search Results
Results display:
- Note title: Name of the matching note
- Snippet: Preview of matching content with highlights
- Relevance score: Higher scores appear first
- Match context: Surrounding text for context
View results
Search results appear as you type, ordered by relevance.
Navigate results
Use arrow keys to move between results.
Open note
Press Enter or click a result to open that note.
Ranking Algorithm
Glyph uses a hybrid search algorithm combining:
Keyword Overlap
- Counts how many search terms appear in the note
- Higher overlap = higher score
Trigram Similarity
- Compares character trigrams between query and content
- Handles typos and fuzzy matching
Phrase Bonus
- If the exact query phrase appears, boost the score
Title Bonus
- Notes with query terms in the title rank higher
Formula:
score = (0.6 × overlap) + (0.4 × trigram) + phrase_bonus + title_bonusTags
Tag Syntax
Add tags anywhere in your notes:
# Project Notes
#project #important #2024
This note contains three tags.Tags must:
- Start with
# - Contain alphanumeric characters, dashes, underscores
- Not contain spaces (use
-instead:#project-alpha)
Nested Tags
Create hierarchies with /:
#projects/alpha
#projects/beta
#work/client/acmeTip
Nested tags help organize large tag sets. Searching for #projects can include all nested tags.
Frontmatter Tags
Define tags in YAML frontmatter:
---
tags: [project, draft, urgent]
---
# Note ContentBoth inline tags and frontmatter tags are indexed identically.
Tag-Based Search
Filtering by Tag
Use the tag filter in the search interface:
- Open search
- Select one or more tags
- Results narrow to notes with those tags
- Optionally add a text query
Tag Autocomplete
When typing tags, Glyph suggests:
- Existing tags in your space
- Tag counts (how many notes use each tag)
- Nested tag paths
Multiple Tags
Select multiple tags to find notes with all selected tags (AND logic):
- Tag
#projectAND#urgent - Shows only notes containing both tags
Combined Search
Combine text search with tag filtering:
Query: "user interface"
Tags: #project, #draftFinds notes that:
- Contain the phrase “user interface”
- Have both
#projectand#drafttags
Tag Browser
View all tags in your space:
Open Tags view
Click the Tags icon in the sidebar or press the tags shortcut.
Browse tags
See all tags with usage counts.
Click a tag
View all notes with that tag.
The tags list shows:
- Tag name: The full tag text
- Count: Number of notes using this tag
- Sorted: By count (most used first) or alphabetically
Advanced Search
Glyph supports advanced search parameters via the Tauri command interface:
Search Options
query: Text to search fortags: Array of tags to filter bytitle_only: Search only note titlestag_only: Search only tags (no content)limit: Maximum results (default: 50)
Example Searches
Search only in note titles, not content:
invoke("search_advanced", {
request: {
query: "meeting",
title_only: true
}
});Find notes by tag without text search:
invoke("search_with_tags", {
tags: ["project", "active"]
});Text search + tag filter + limit:
invoke("search_advanced", {
request: {
query: "design system",
tags: ["ui", "reference"],
limit: 20
}
});Indexing
Automatic Indexing
Glyph indexes your notes automatically:
- On save: Every time you save a note
- On create: When you create a new note
- On delete: When you delete a note
- On rename: When you rename a note
Index Contents
The search index stores:
- Note title: Filename without extension
- Note content: Full markdown text
- Tags: Both inline and frontmatter tags
- Paths: Relative path in your space
- Timestamps: Created and updated times
Rebuild Index
If search results seem outdated:
Open Settings
Go to Settings > General.
Rebuild Index
Click Rebuild Search Index.
Wait for completion
Glyph re-indexes all notes. Large spaces may take a minute.
Warning
Rebuilding the index locks search temporarily. Avoid doing this during active work sessions.
Recent Notes
View recently modified notes:
invoke("recent_notes", { limit: 10 });This returns the 10 most recently updated notes, useful for:
- Quick access to recent work
- “Continue where you left off” features
- Recent activity timeline
Performance
Search Speed
Glyph’s search is optimized for spaces with thousands of notes:
- SQLite FTS5: Full-text search engine
- Indexed queries: Sub-100ms for most queries
- Candidate limiting: Fetches top 300 candidates, then ranks
- Debounced input: Reduces unnecessary queries
Scaling
Search performance characteristics:
| Space Size | Index Time | Query Time |
|---|---|---|
| 100 notes | < 1s | < 10ms |
| 1,000 notes | ~5s | ~50ms |
| 10,000 notes | ~30s | ~100ms |
Tip
Search performance depends on note size. Many small notes search faster than fewer large notes.
Troubleshooting
Search returns no results
Solutions:
- Check spelling and try synonyms
- Simplify your query (use fewer words)
- Rebuild the search index
- Verify the note exists in your space
Search is slow
Solutions:
- Reduce query complexity
- Use more specific search terms
- Filter by tags to narrow results
- Rebuild index if it’s corrupted
Tags not appearing
Solutions:
- Ensure tags start with
# - Check for spaces (use
#tag-namenot#tag name) - Save the note (tags index on save)
- Rebuild index if needed