Master Documentation Search: Beyond Keywords
Tired of searching “authentication” and getting 47 irrelevant results? ULPI’s semantic search understands what you mean, not just what you typed. This guide teaches you:- 🎯 How to write queries that return exactly what you need
- 🔍 Advanced filters (repository, branch, file type, date)
- ⚡ Pro tips to search 10x faster
- 🚀 Real-world search scenarios with examples
The Problem: Why Most Searches Fail
You’ve experienced this frustration:- Generic Keywords (Fails)
- Natural Language (Works)
- 127 results across 23 files
- Database setup guide
- Database migration docs
- Database troubleshooting
- Database performance tuning
- 123 other “database” mentions
Natural Language Queries: Ask Like a Human
ULPI understands questions, not just keywords.The Formula: Be Specific + Ask Naturally
How-To Questions
What-Is Questions
Show-Me Requests
Where-Is/Find Requests
Real-World Search Scenarios
How to search in common situations:🚀 Scenario 1: New Developer Onboarding
🚀 Scenario 1: New Developer Onboarding
- Wrong Approach
- Right Approach
- Docker setup
- AWS setup
- Environment setup
- CI/CD setup
- Database setup
- IDE setup
🐛 Scenario 2: Debugging Production Error
🐛 Scenario 2: Debugging Production Error
- Panic Search (Fails)
- Focused Search (Works)
🔐 Scenario 3: Implementing New Feature
🔐 Scenario 3: Implementing New Feature
- Generic Search
- Specific Search
- API authentication
- User authentication
- Service-to-service auth
- Frontend auth
- Admin authentication
🔄 Scenario 4: Understanding Legacy System
🔄 Scenario 4: Understanding Legacy System
- Code Search (Wrong Tool)
- Documentation Search (Right Tool)
📊 Scenario 5: API Integration
📊 Scenario 5: API Integration
Start Broad
Get Specific
Find Examples
Handle Errors
⚡ Scenario 6: Performance Optimization
⚡ Scenario 6: Performance Optimization
- ❌ “performance” (too broad)
- ❌ “slow” (no context)
- ❌ “optimize” (optimize what?)
- ✅ “How to optimize slow database queries?”
- ✅ “What caching strategies do we use?”
- ✅ “Show me Redis caching configuration for sessions”
- ✅ “What are our API response time targets?”
Advanced Filters
Narrow your search when you know where to look.Repository Filter
Search specific repos when you know the context:- Single Repository
- Multiple Repositories
- All Repositories (Default)
repository: filterbackend-api repoWhen to use repository filters?
When to use repository filters?
- ✅ You know exactly which repo has the docs
- ✅ You want to exclude noise from other repos
- ✅ Searching microservices (each service = separate repo)
- ❌ You’re not sure where docs live
- ❌ Documentation might span multiple repos
- ❌ You want comprehensive results
Branch Filter
Search specific branches for work-in-progress docs:- Main Branch (Default)
- Development Branch
- Feature Branch
main or master branch (production docs)Use 99% of the timeFile Type Filter
Limit to specific file types:- README Files Only
- Docs Directory
- Markdown Files
filetype:READMEREADME.md filesDate Filter
Find recent or historical documentation:- Recently Updated
- Older Docs
- Specific Date Range
updated:7dSemantic vs. Keyword Search
Understanding the difference improves your searches.How Semantic Search Works
- Example 1: Synonyms
- Example 3: Technical Jargon
- “send emails”
- “email delivery”
- “SMTP configuration”
- “mail service”
- “notification emails”
- Email configuration
- SMTP setup
- Mail service integration
- Notification delivery
When to Use Exact Match
Force exact phrase matching with quotes:- Exact Phrase
- Semantic (Default)
Search Optimization Tips
Get better results faster:✅ Tip 1: Be Specific, Not Generic
✅ Tip 1: Be Specific, Not Generic
- ❌ “database”
- ❌ “error”
- ❌ “API”
- ❌ “setup”
- ✅ “How to optimize slow PostgreSQL queries?”
- ✅ “How to handle 500 errors in production?”
- ✅ “What rate limits does our REST API have?”
- ✅ “How to set up local development environment on macOS?”
❓ Tip 2: Use Question Format
❓ Tip 2: Use Question Format
- “How do I…” → Looking for step-by-step guide
- “What is…” → Looking for definition or explanation
- “Where is…” → Looking for location or reference
- “Why do we…” → Looking for rationale or decision
- ✅ “How do I deploy to staging environment?”
- ✅ “What is our database backup schedule?”
- ✅ “Where are application logs stored in production?”
- ✅ “Why do we use Redis instead of Memcached?”
- ❌ “deploy staging”
- ❌ “backup schedule”
- ❌ “logs”
- ❌ “Redis”
🎯 Tip 3: Include Context
🎯 Tip 3: Include Context
- “authentication” → 100 results
- “cache” → 50 results
- “deployment” → 75 results
- “API authentication with JWT tokens” → 5 results
- “Redis cache configuration for sessions” → 3 results
- “Deployment to AWS production environment” → 4 results
- Environment: local, staging, production
- Technology: Redis, PostgreSQL, Docker, Kubernetes
- Use case: authentication, caching, logging, monitoring
- Platform: AWS, GCP, Azure, Heroku
🔄 Tip 4: Try Synonyms
🔄 Tip 4: Try Synonyms
- “How do I deploy to production?”
- “What’s the production deployment process?”
- “How to push code to prod?”
- “Deployment steps for live environment”
- “How do we authenticate users?”
- “What’s our login process?”
- “User verification flow”
- “How to sign in users?”
📝 Tip 5: Start Broad, Then Narrow
📝 Tip 5: Start Broad, Then Narrow
Start Broad
Add Specificity
Get Very Specific
🔗 Tip 6: Use Related Terms from Results
🔗 Tip 6: Use Related Terms from Results
⏱️ Tip 7: Use Recency for Fast-Moving Topics
⏱️ Tip 7: Use Recency for Fast-Moving Topics
- “Kubernetes deployment”
updated:30d→ Latest K8s practices - “React patterns”
updated:90d→ Modern React (not class components) - “API changes”
updated:7d→ Recent breaking changes
Understanding Search Results
What you get when ULPI returns results:Result Format
- Content Preview
- Metadata
- Direct Link
- Relevance Score
- Most relevant section (not entire file)
- Preserved formatting
- Code examples intact
- Links included
Result Ranking
How results are ordered:- Relevance score (semantic similarity)
- Keyword matches (exact words in query)
- Document recency (newer docs ranked higher)
- File importance (README > docs/ > other)
- Repository priority (if you specified repos)
Common Search Patterns
Copy these proven query patterns:Development Workflows
API & Integration
Infrastructure & Deployment
Troubleshooting Search Issues
🔍 No Results Found
🔍 No Results Found
-
Documentation doesn’t exist
- Verify docs exist in your repositories
- Check if topic is actually documented
-
Too specific query
- Try removing details: “OAuth JWT authentication” → “authentication”
- Use broader terms first
-
Wrong terminology
- Your docs say “login”, you search “authentication”
- Try synonyms: “sign in”, “user verification”
-
Repository scope too narrow
- Remove
repository:filter - Search all repos, not just one
- Remove
- Simplify query
- Try synonyms
- Remove filters
- Ask teammate “what do we call this?”
📊 Too Many Irrelevant Results
📊 Too Many Irrelevant Results
-
Be more specific:
- ❌ “database” → ✅ “PostgreSQL query optimization”
-
Use filters:
- Add
repository:backend-api - Add
path:docs/ - Add
updated:30d
- Add
-
Use exact phrases:
- Add quotes:
"database migration"
- Add quotes:
-
Ask a question:
- ❌ “deployment” → ✅ “How do I deploy to AWS production?”
❌ Wrong Results (Not Relevant)
❌ Wrong Results (Not Relevant)
-
Ambiguous terminology
- “Cache” could mean Redis, browser cache, CDN cache
-
Multiple contexts
- “Deploy” could mean backend, frontend, infrastructure
-
Add context:
- ❌ “cache setup” → ✅ “Redis cache setup for API sessions”
-
Specify environment:
- ❌ “deployment” → ✅ “deployment to AWS production”
-
Include technology:
- ❌ “authentication” → ✅ “JWT authentication for REST API”
⏰ Search Returning Outdated Docs
⏰ Search Returning Outdated Docs
-
Filter by recency:
-
Check result metadata:
- Look at “Last Updated” date
- If >6 months old, might be outdated
-
Search specific branch:
(Ensures you get production docs, not old feature branches)
🔐 Can't Find Docs in Private Repo
🔐 Can't Find Docs in Private Repo
-
Repository connected?
- Dashboard → Repositories → Verify repo is listed
-
API key has access?
- Dashboard → API Keys → Check scope includes that repo
-
Indexing complete?
- Dashboard → Repositories → Status should be “Indexed”
-
OAuth permissions?
- GitHub → Settings → Applications → ULPI → Verify repo access
Search Performance Metrics
What to expect:Average Response Time
Result Accuracy
Index Coverage
Performance by Query Type
| Query Type | Avg Latency | Accuracy | Token Usage |
|---|---|---|---|
| Simple (1-2 words) | 30ms | 85% | 500 tokens |
| Question (5-10 words) | 45ms | 95% | 1,200 tokens |
| Complex (15+ words) | 120ms | 92% | 2,500 tokens |
| With filters | 35ms | 97% | 800 tokens |
Limitations & Constraints
Next Steps
Get Started
How It Works
Repository Management
API Integration
Quick Reference: Search Cheat Sheet
Bookmark this for quick access:Query Format Examples
Query Format Examples
Filter Syntax
Filter Syntax
Common Patterns
Common Patterns
- 📧 Email: support@ulpi.io
- 📚 Docs: docs.ulpi.io
- 💬 Slack: ulpi.io/slack