Post

Smart Search - AI-Powered Semantic Search

Smart Search - AI-Powered Semantic Search

What is Smart Search?

AI-powered semantic search that understands context and meaning. Ask questions in natural language and find notes by concept, not just keywords. Powered by GitHub Copilot.

Quick Start

1
2
3
Command: Noted: Search Notes
Type: What bugs did I fix last week?
Press Enter

Tip: Set up a custom keyboard shortcut (e.g., Cmd+Shift+F) for faster access.

Natural Language Queries

Ask Questions

Search using plain English questions:

1
2
Query: What did I work on yesterday?
Result: AI analyzes all notes from yesterday and ranks by relevance
1
2
Query: What bugs did I fix last week?
Result: Finds bug-related notes from the past 7 days
1
2
Query: notes about authentication issues
Result: Finds notes about login, credentials, auth errors, etc.

Semantic Understanding

Find notes by meaning, not just exact keywords:

1
2
Query: authentication problems
Finds: Notes about "login errors", "credential issues", "sign-in failures"
1
2
Query: performance optimization
Finds: Notes about "speed improvements", "making code faster", "reducing latency"
1
2
Query: database connection issues
Finds: Notes about "DB connectivity", "SQL server errors", "connection pooling"

How it works: GitHub Copilot analyzes note content and understands conceptual relationships between terms.

Search Strategies

Smart Search automatically chooses the best approach:

🔍 Keyword Search (Fast)

For simple, specific queries:

1
2
3
Query: database
Strategy: Keyword
Result: All notes containing "database" (instant)

When used:

  • Short queries (1-2 words)
  • Exact term searches
  • Simple lookups

✨ Semantic Search (AI-Powered)

For questions and conceptual queries:

1
2
3
Query: How do I fix authentication errors?
Strategy: Semantic
Result: AI-ranked notes about auth troubleshooting

When used:

  • Natural language questions
  • Queries with question words (what, how, why)
  • Conceptual searches
  • Phrases like “about”, “related to”, “issues with”

đź”— Hybrid Search (Best of Both)

For complex multi-word queries:

1
2
3
Query: react performance issues from last month
Strategy: Hybrid
Result: Keyword pre-filter → AI re-ranking

How it works:

  1. Fast keyword search to get candidates (top 20)
  2. AI analyzes candidates for semantic relevance
  3. Returns best matches with high accuracy

When used:

  • Multi-word queries (3+ words)
  • Specific topics with context
  • Best balance of speed and accuracy

Relevance Scoring

Every result shows a relevance score and match type:

1
2
3
4
5
6
7
8
✨ 2025-10-23-auth-fix.md     95% · Semantic
   Fixed authentication bug causing 401 errors...

🔍 2025-10-15-login-issue.md  87% · Keyword
   PROBLEM: User login fails with credential error...

🔗 2025-10-10-security.md     82% · Hybrid
   Reviewed authentication flow and identified...

Icons:

  • ✨ Semantic: AI-determined relevance
  • 🔍 Keyword: Traditional text matching
  • đź”— Hybrid: Combined approach

Score: 0-100% confidence that the note is relevant to your query

Advanced Filters

Combine AI search with powerful filters:

Tag Filters

Filter by hashtags inline:

1
2
Query: #react performance issues
Result: Only notes tagged #react about performance
1
2
Query: tag:backend authentication
Result: Backend notes about authentication

Date Filters (Natural Language)

Use natural language dates:

1
2
Query: bugs from last week
Result: Bug notes from the past 7 days
1
2
Query: from:yesterday meeting notes
Result: Meeting notes from yesterday onward
1
2
Query: from:last month to:today project updates
Result: Project notes from last 30 days

Supported date expressions:

  • yesterday, today
  • last week, last month, last year
  • last 7 days, last 30 days
  • this week, this month, this year
  • from:YYYY-MM-DD, to:YYYY-MM-DD (specific dates)

Format Filters

Filter by file format:

1
2
Query: format:md notes about API
Result: Only markdown files about APIs
1
2
Query: format:txt meeting notes
Result: Only .txt files with meeting notes

Template Filters

Filter by note template:

1
2
Query: template:meeting from:last week
Result: Meeting template notes from last week

Combining Filters

Mix AI search with multiple filters:

1
Query: #bug authentication from:last week

This finds:

  • Notes tagged #bug
  • About authentication (semantic)
  • From the past 7 days

Filter order doesn’t matter - use any order you prefer.

Quick Switcher

Fast access to recent notes without search:

1
2
Press: Cmd+Shift+P (or Ctrl+Shift+P)
Command: Noted: Quick Switcher

Shows:

  • 20 most recently modified notes
  • Modification dates
  • Quick preview
  • Instant navigation

Best for: Switching between active notes you were just editing

Configuration

Customize search behavior in settings:

1
"noted.search.enableSemantic": true

Default: Enabled (falls back to keyword if Copilot unavailable)

Max Results

1
"noted.search.maxResults": 20

Default: 20 results (1-100)

Minimum Relevance Score

1
"noted.search.minRelevanceScore": 0.5

Default: 0.5 (50% confidence minimum) Range: 0.0-1.0

AI Analysis Settings

1
2
3
"noted.search.maxCandidates": 20,
"noted.search.hybridCandidates": 20,
"noted.search.chunkSize": 3000
  • maxCandidates: Max notes to analyze with AI (5-50)
  • hybridCandidates: Top keyword results to re-rank (5-50)
  • chunkSize: Characters per note sent to AI (500-10000)

Fuzzy Matching

1
"noted.search.enableFuzzyMatch": false

Default: Disabled When enabled: Tolerates typos in keyword searches

Search Examples

Bug Tracking

Find bugs you worked on:

1
Query: What bugs did I fix this month?

Find critical issues:

1
Query: #bug #critical authentication

Project Management

Project updates:

1
Query: project alpha updates from last week

Open action items:

1
Query: #project-alpha TODO

Meeting Notes

Recent team meetings:

1
Query: #meeting #team from:last month

Meetings about specific topic:

1
Query: What did we discuss about the API redesign?

Learning Log

Recent learning:

1
Query: What did I learn about React last week?

Topic search:

1
Query: notes about GraphQL and performance

Code Review

Review notes:

1
Query: code reviews from this month

Security reviews:

1
Query: #review #security authentication

Use Cases

Even when you don’t remember exact terms:

1
2
3
I wrote: "credential validation errors"
You search: authentication problems
Result: âś… Found! (semantic matching)

Ask Questions

Get answers from your notes:

1
2
Query: How did I solve the database timeout issue?
Result: Notes ranked by relevance to that problem

Time-Based Searches

Natural language dates:

1
2
3
Query: meeting notes from last Tuesday
Query: bugs I fixed yesterday
Query: what I worked on this week

Conceptual Searches

Find notes by topic, not keywords:

1
2
Query: improving application speed
Finds: performance, optimization, caching, lazy loading

Requirements

GitHub Copilot: Semantic search requires GitHub Copilot extension

Fallback: If Copilot is unavailable, automatically falls back to keyword search

No Copilot?

  • Keyword search still works
  • All filters still work
  • Only semantic AI features unavailable

Best Practices

  1. Ask Natural Questions: “What did I work on yesterday?” works better than “work yesterday”
  2. Be Conversational: Write how you’d ask a person
  3. Combine with Filters: Add #tags and date filters to narrow results
  4. Check Relevance Scores: 80%+ are usually very relevant
  5. Try Different Phrasings: If results aren’t good, rephrase your question

Tips for Better Results

Descriptive Queries

❌ Too vague: auth ✅ Better: authentication issues I encountered ✅ Best: What authentication problems did I fix last week?

Use Context

❌ Generic: error ✅ Better: database connection errors ✅ Best: how to fix database timeout errors

Combine Strategies

Start broad, then filter:

1
2
3
Step 1: What bugs did I fix?
Step 2: Add filter: #backend
Step 3: Add date: from:last month

Troubleshooting

“Copilot not available”

Solution: Install and sign in to GitHub Copilot extension

Workaround: Search still works (keyword mode)

Results not relevant

Try:

  • Rephrase your query more specifically
  • Add tag filters to narrow scope
  • Use date filters to limit time range
  • Check your spelling

For large note collections:

  • Use tag filters first
  • Add date filters
  • Lower maxCandidates setting
  • AI analysis takes longer with more notes

Too few results

  • Lower minRelevanceScore to 0.3
  • Remove restrictive filters
  • Use broader search terms
  • Check that notes exist in that time range

Keyboard Shortcuts

ShortcutAction
Cmd+Shift+FOpen search
Cmd+Shift+PQuick switcher
↑ / ↓Navigate results
EnterOpen selected note
EscClose search

Find anything in your notes by asking questions! ✨🔍

This post is licensed under CC BY 4.0 by the author.