Search System
Version: 1.3.1 | Status: Production Ready
Lokus features a powerful, lightning-fast search system built in Rust that helps you find information across your entire workspace instantly. With full-text search, advanced filtering, and intelligent ranking, you can locate any note, task, or piece of content in milliseconds.
What’s New in v1.3
Version 1.3 introduces revolutionary search technology with 100x performance improvements:
- Quantum Search Integration - Next-generation search engine with O(1) lookup complexity:
- 100x faster than previous version for large workspaces
- Sub-10ms search across 10,000+ notes
- Inverted index with bit-level optimization
- Incremental indexing updates in under 1ms per note
- Near-instant fuzzy matching with levenshtein distance caching
- Advanced Filters - Powerful filtering options for precision searches:
- Date range filters with natural language (“last week”, “this month”, “before 2024”)
- File type filters (markdown, PDF, images, canvas, bases)
- Folder filters with nested folder support and exclusions
- Tag filters with AND/OR logic and tag hierarchies
- Property filters for custom fields (status, priority, assignee, etc.)
- Combination filters with complex boolean logic
- Search Operators - Professional-grade query syntax:
- Boolean operators: AND, OR, NOT with parentheses for grouping
- Field-specific search:
title:,content:,tag:,path:,created:,modified: - Regex support with full PCRE syntax for pattern matching
- Proximity search:
"word1 word2"~5finds words within 5 positions - Wildcards:
test*,*ing,te?tfor flexible matching
- Context Snippets - Rich result previews:
- Highlighting of matched terms in yellow with surrounding context
- Smart snippet extraction showing the most relevant passages
- Multiple snippets per result if matches appear in different sections
- Adjustable snippet length (50-500 characters)
- Smart Sorting & Grouping - Organize results your way:
- Sort by relevance (default), date modified, date created, title, or file size
- Group by folder with collapsible sections
- Secondary sort criteria for fine-tuned ordering
- Relevance boosting based on title matches, recency, and link count
- Search History - Never lose a search:
- Last 50 searches automatically saved
- Search suggestions based on history
- Quick access dropdown with keyboard navigation
- Edit and re-run previous searches
- Saved Searches - Reusable query templates:
- Save complex queries with one click
- Name and organize saved searches
- Pin favorites to sidebar for instant access
- Share saved searches with team members
- Keyboard shortcuts for frequently used searches
Overview
The search system indexes all your content in real-time, providing instant results as you type. Whether you’re looking for a specific phrase, exploring related topics, or filtering by metadata, Lokus search adapts to your needs.
Key Features
- Lightning-fast search powered by Rust indexing
- Full-text search across all notes and content
- Fuzzy matching for typo tolerance
- Advanced filters by tags, dates, properties
- Regular expression support
- Search history and suggestions
- Saved searches for repeated queries
Basic Search
Quick Search
Access search from anywhere:
Keyboard Shortcuts:
Cmd/Ctrl + F- Search in current noteCmd/Ctrl + Shift + F- Global searchCmd/Ctrl + P- Command palette with search
Search Interface:
- Search input with autocomplete
- Results list with previews
- Filter sidebar
- Sort options
- Result count
Search Syntax
Simple text search:
machine learning
"exact phrase"
note title
tag nameFeatures:
- Case-insensitive by default
- Whole word matching
- Phrase search with quotes
- Partial word matching
Search Results
Results display:
Result Card:
- Note title
- File path
- Last modified date
- Matching snippet (highlighted)
- Match count
- Tags
Interactions:
- Click to open note
- Cmd/Ctrl + Click for new pane
- Hover for preview
- Right-click for options
Advanced Search
Search Operators
Combine terms with operators:
Boolean Operators:
term1 AND term2
term1 OR term2
NOT term1
(term1 OR term2) AND term3Proximity Search:
"word1 word2"~5 # Within 5 words
"exact phrase" # Exact orderWildcards:
test* # Starts with "test"
*ing # Ends with "ing"
te?t # Single character wildcardField Search
Search specific fields:
Field Syntax:
title:project # In title
content:algorithm # In content
tag:#important # By tag
path:/Projects/ # In folder
created:2024-03-20 # Creation date
modified:>2024-03-01 # Modified after
author:@john # By authorAvailable Fields:
title- Note titlecontent- Note contenttag- Tagspath- File pathtype- Note typecreated- Creation datemodified- Modified dateauthor- Creatorproperties.*- Custom properties
Date Filters
Search by date ranges:
Date Syntax:
created:today
created:yesterday
created:this-week
created:this-month
created:2024-03-20
created:>2024-01-01
created:before-2024-12-31
created:2024-01..2024-03-31
modified:last-7-days
modified:next-weekRelative Dates:
today,yesterday,tomorrowthis-week,last-week,next-weekthis-month,last-month,next-monththis-year,last-yearlast-N-days,next-N-days
Property Filters
Filter by custom properties:
Property Syntax:
status:active
priority:high
assignee:@sarah
progress:>50
completed:true
tags:contains:projectOperators:
:equals:>greater than:<less than:>=greater or equal:<=less or equal:!=not equal:contains:contains text:starts:starts with:ends:ends with
Filter Panel
Visual Filters
Build searches with UI:
Filter Categories:
- Type: Notes, tasks, canvases, bases
- Tags: Multi-select tag picker
- Folders: Folder tree selector
- Dates: Date range picker
- Properties: Custom property filters
- Status: Task status, note state
Filter Builder:
- Select filter type
- Choose operator
- Enter value
- Add to query
- Combine with AND/OR
Quick Filters
Pre-built filter buttons:
Common Filters:
- All notes
- Recent (last 7 days)
- Favorites
- Untagged
- Orphaned (no links)
- Tasks
- Completed tasks
- Overdue tasks
Custom Quick Filters:
- Create from current search
- Pin frequently used filters
- Organize in groups
- Keyboard shortcuts
Search Modes
Fuzzy Search
Tolerant of typos and variations:
Features:
- Character transposition
- Missing characters
- Extra characters
- Similar characters
Example:
Search: "algoritm"
Finds: "algorithm"
Search: "machne learning"
Finds: "machine learning"Fuzzy Threshold:
- Strict (exact matches)
- Medium (1-2 char difference)
- Loose (more tolerance)
Regex Search
Pattern-based searching:
Enable Regex:
regex:pattern
/pattern/Examples:
regex:\b\d{3}-\d{3}-\d{4}\b # Phone numbers
/TODO.*urgent/ # TODO with urgent
regex:^# .+ # All headers
/\b[A-Z]{2,}\b/ # AcronymsRegex Features:
- Full PCRE syntax
- Case-sensitive option
- Multiline mode
- Word boundaries
Semantic Search
AI-powered conceptual search:
Features:
- Meaning-based matching
- Concept similarity
- Related topics
- Query expansion
Example:
Search: "productivity tips"
Also finds:
- "time management"
- "efficiency strategies"
- "workflow optimization"Configuration:
- Enable in Settings > Search
- Local AI model or API
- Similarity threshold
- Max results
Search in Context
Search Scope
Limit search scope:
Scope Options:
- Workspace: All notes (default)
- Folder: Selected folder and subfolders
- Current Note: In-note search
- Selection: Selected notes
- Linked Notes: From current note
- Tag: Notes with specific tag
Setting Scope:
- Select scope from dropdown
- Choose folder/tag/note
- Search runs in scope only
- Clear scope to search all
Search and Replace
Find and replace across notes:
Replace Options:
- Current note
- All search results
- Selected results
- Regex replace
Replace Process:
- Enter search term
- Enter replacement
- Preview changes
- Confirm replace
- Undo if needed
Regex Replace:
Find: (\d{2})/(\d{2})/(\d{4})
Replace: $3-$1-$2
Result: 03/20/2024 → 2024-03-20Result Ranking
Relevance Scoring
Results ranked by relevance:
Ranking Factors:
- Term frequency
- Title matches (higher weight)
- Exact phrase matches
- Proximity of terms
- Document length
- Recency
- Link count (importance)
- Access frequency
Boosting:
title:project^2 # Boost title matches
tag:#important^3 # Boost tagged notes
recent^1.5 # Boost recent notesSort Options
Control result order:
Sort By:
- Relevance (default)
- Date modified (newest/oldest)
- Date created (newest/oldest)
- Title (A-Z, Z-A)
- File size (largest/smallest)
- Link count (most/least)
Secondary Sort:
- Apply multiple sort criteria
- Stable sort order
- Preserve relevance
Search History
Recent Searches
Track your searches:
Features:
- Last 50 searches saved
- Click to repeat search
- Edit and re-run
- Delete from history
- Clear all history
History Display:
Recent Searches:
1. machine learning AND python
2. tag:#project status:active
3. "meeting notes" path:/Work/
4. modified:last-week
5. task: AND priority:highSearch Suggestions
Smart suggestions as you type:
Suggestion Types:
- Previous searches
- Popular searches
- Note titles
- Tag names
- Field names
- Property values
Autocomplete:
- Real-time suggestions
- Keyboard navigation
- Tab to complete
- Enter to search
Saved Searches
Creating Saved Searches
Save frequent searches:
Process:
- Build search query
- Click “Save Search”
- Name the search
- Optional: Add to sidebar
- Optional: Set keyboard shortcut
Saved Search Properties:
- Name and description
- Query string
- Filters applied
- Sort order
- Scope
- Created date
Managing Saved Searches
Organize your searches:
Actions:
- Edit search
- Rename search
- Duplicate search
- Delete search
- Export/import searches
Organization:
- Group by category
- Pin favorites
- Reorder list
- Share with team
Search Integration
Graph Search
Graph-aware searching:
Graph Queries:
linked-to:[[Note Name]]
linked-from:[[Note Name]]
connections:>10
distance:2 from:[[Start Note]]
orphan:true
cluster:"Research"Use Cases:
- Find notes linked to specific note
- Find notes within N hops
- Find highly connected notes
- Find isolated notes
Task Search
Search tasks specifically:
Task Queries:
task:content
task-status:todo
task-priority:high
task-assignee:@john
task-due:<today
task-overdue:true
has:subtasks
task-progress:>50%Task Filters:
- By status
- By due date
- By assignee
- By priority
- By completion
Base Search
Search within Bases:
Base Queries:
base:"Project Tracker"
base-property:status=active
base-relation:has:tasks
base-aggregate:sum(hours)>100Search Performance
Indexing
Real-time index updates:
Index Features:
- Incremental indexing
- Background processing
- Low memory footprint
- Fast updates (under 10ms)
Index Scope:
- Note content
- Note metadata
- Properties
- Tags
- Links
- Tasks
Index Statistics:
- Total notes indexed
- Index size
- Last update time
- Indexing queue length
Search Speed
Optimized for performance:
Benchmarks:
- Simple search: under 10ms
- Complex query: under 50ms
- Regex search: under 100ms
- Fuzzy search: under 150ms
Optimization:
- Rust-powered backend
- Inverted index structure
- Result caching
- Progressive loading
- Virtual scrolling
Export Results
Export Options
Save search results:
Formats:
- List: Plain text list
- Markdown: Formatted markdown
- CSV: Spreadsheet format
- JSON: Structured data
Export Content:
- Note titles only
- Titles + paths
- Titles + excerpts
- Full note content
Example Export (Markdown):
# Search Results: "machine learning"
Total: 15 results
## [Introduction to ML](path/to/note1.md)
Last modified: 2024-03-20
Excerpt: "Machine learning is a subset of..."
## [Python ML Libraries](path/to/note2.md)
Last modified: 2024-03-18
Excerpt: "Popular machine learning libraries include..."Configuration
Search Settings
Configure in Settings > Search:
General:
- Default search mode
- Fuzzy threshold
- Max results
- Preview length
- Case sensitivity
Indexing:
- Index frequency
- Excluded folders
- Excluded file types
- Include archived notes
- Index properties
Performance:
- Cache size
- Background indexing
- Incremental updates
- Memory limit
Privacy:
- Search history enabled
- History retention days
- Clear on exit
- Exclude from search
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Global Search | Cmd/Ctrl + Shift + F |
| Search in Note | Cmd/Ctrl + F |
| Next Result | Cmd/Ctrl + G |
| Previous Result | Cmd/Ctrl + Shift + G |
| Replace | Cmd/Ctrl + H |
| Toggle Filters | Cmd/Ctrl + Shift + L |
| Clear Search | Esc |
| Focus Search | Cmd/Ctrl + K |
Advanced Features
Search Plugins
Extend search functionality:
Plugin Types:
- Custom search providers
- Additional indexers
- Result processors
- Search UI extensions
Example Plugins:
- PDF content search
- OCR for images
- Code symbol search
- External file search
API Search
Programmatic search:
REST API:
// Search notes
GET /api/search?q=machine+learning&limit=10
// Advanced search
POST /api/search
{
"query": "machine learning",
"filters": {
"tags": ["#ai", "#ml"],
"dateRange": {
"start": "2024-01-01",
"end": "2024-12-31"
}
},
"sort": "relevance",
"limit": 20
}Response:
{
"results": [
{
"id": "note-123",
"title": "Introduction to ML",
"path": "/Notes/ML/intro.md",
"excerpt": "Machine learning is...",
"score": 0.95,
"highlights": [...]
}
],
"total": 15,
"time_ms": 12
}Use Cases
Research
Finding research materials:
Workflow:
- Search by topic or keywords
- Filter by tags or dates
- Review result excerpts
- Open relevant notes
- Export findings
Example Search:
"neural networks" OR "deep learning"
tag:#research
created:this-year
path:/Research/Project Management
Locating project information:
Queries:
tag:#project-alpha
status:active
priority:high
due:<next-weekKnowledge Discovery
Exploring related content:
Techniques:
- Start with broad search
- Review related notes
- Follow links
- Narrow with filters
- Save useful queries
Content Audit
Finding outdated content:
Audit Search:
modified:before-2023-01-01
NOT tag:#archived
has:broken-linksBest Practices
Search Strategies
Effective Searching:
- Start broad, then narrow
- Use quotes for phrases
- Combine with filters
- Save common searches
- Review search tips regularly
Query Building:
- Identify key terms
- Add field specifiers
- Apply filters
- Test and refine
- Save if reusable
Search Optimization
For Better Results:
- Use descriptive note titles
- Add relevant tags
- Maintain consistent naming
- Regular cleanup of old notes
- Keep index up to date
Troubleshooting
Common Issues
Issue: No results found Solution: Check spelling, try broader terms, verify filters
Issue: Too many results Solution: Add filters, use exact phrases, search specific fields
Issue: Slow search Solution: Rebuild index, reduce workspace size, check excluded folders
Issue: Missing notes in results Solution: Rebuild index, check note location, verify not excluded
Index Maintenance
Rebuild Index:
- Settings > Search
- Click “Rebuild Index”
- Wait for completion
- Test search again
Index Troubleshooting:
- Clear cache
- Check index integrity
- Review error logs
- Verify permissions
Next Steps
- Explore Wiki Links for linked content search
- Use Tasks for task-specific searches
- Try Bases for structured data queries
- Learn Graph for visual search navigation