Overview
Semantic Search revolutionizes how you navigate and understand your codebase. Instead of searching for exact keywords, you can search by meaning, intent, and context.Coming Soon: Semantic Search is currently in development and will be available to beta users first.
How It Works
Understanding Your Code
Parsaa’s semantic search doesn’t just look for text matches - it understands:- Code Intent: What the code is trying to accomplish
- Relationships: How different parts of your code connect
- Patterns: Common coding patterns and their variations
- Context: The broader purpose within your application
Search by Meaning
Instead of searching for exact strings, search for concepts:Traditional Search
Traditional Search
Semantic Search
Semantic Search
Search Examples
Finding Authentication Code
Query: “Where does user authentication happen?” Results:LoginViewController.swift- UI for loginAuthService.swift- Authentication logicUserManager.swift- User session managementKeychainHelper.swift- Secure token storageBiometricAuth.swift- Touch ID/Face ID integration
Locating Network Requests
Query: “Show me all API calls in my app” Results:- All
URLSessionimplementations - Network service classes
- API endpoint definitions
- Request/response models
- Error handling for network calls
Finding UI Components
Query: “Find all SwiftUI views that display user data” Results:UserProfileView.swiftUserListView.swiftUserDetailView.swift- Any view that uses
@StateObject var user: User
Advanced Search Features
Context-Aware Results
Project Context
Project Context
Parsaa understands your project’s architecture:
- MVVM Pattern: Finds ViewModels, Views, and Models
- VIPER Pattern: Locates Interactors, Presenters, Entities
- MVC Pattern: Identifies Controllers, Views, and Models
- Custom Architecture: Adapts to your specific patterns
Framework Integration
Framework Integration
Recognizes framework-specific patterns:
- SwiftUI: Finds
@State,@Binding,@ObservedObject - UIKit: Locates
UIViewController,UIViewsubclasses - Combine: Identifies publishers, subscribers, operators
- Core Data: Finds entities, relationships, fetch requests
Smart Suggestions
Related Code
Related Code
Code Relationships
Code Relationships
Understand how your code connects:
- Call Graphs: See what calls what
- Data Flow: Track how data moves through your app
- Dependency Chains: Understand complex dependencies
- Impact Analysis: See what breaks when you change code
Search Categories
Functional Searches
Business Logic
Find core application logic and business rules.
Data Flow
Track how data flows through your app.
Error Handling
Locate error handling patterns and exception management.
Performance
Find performance-critical code and optimization opportunities.
Technical Searches
Architecture
Understand your app’s overall structure and design patterns.
Dependencies
Find external libraries and their usage throughout your code.
Configuration
Locate settings, preferences, and configuration code.
Security
Find security-related code and potential vulnerabilities.
Search Syntax
Natural Language Queries
Use everyday language to find what you need:Simple Queries
Simple Queries
- “How does the app handle user registration?”
- “Where are network errors caught and handled?”
- “Show me all the SwiftUI views in this project”
- “Find code that deals with user preferences”
Complex Queries
Complex Queries
- “Find all the code that runs when a user logs in”
- “Show me how data flows from the API to the UI”
- “Where are background tasks scheduled and managed?”
- “Find all the places where we save data to disk”
Advanced Search Operators
Scope Operators
Scope Operators
in:views- Search only in view filesin:models- Search only in model filesin:services- Search only in service filesin:utils- Search only in utility files
Relationship Operators
Relationship Operators
calls:functionName- Find code that calls a specific functionused-by:className- Find where a class is usedimports:framework- Find files that import a specific frameworkextends:baseClass- Find classes that extend a base class
Integration with Development Workflow
IDE Integration
1
Quick Search
Use
⌘⇧F to open semantic search directly in Xcode2
Context Menu
Right-click on any code element to search for related code
3
Search Results
Click results to navigate directly to the relevant code
4
Code Navigation
Use search results to understand code relationships and dependencies
Git Integration
Change Tracking
Change Tracking
- See how code has evolved over time
- Find when specific patterns were introduced
- Track refactoring history
- Understand code ownership
Impact Analysis
Impact Analysis
- See what code will be affected by your changes
- Find potential breaking changes
- Identify code that needs updating
- Plan refactoring strategies
Performance and Indexing
Smart Indexing
Incremental Updates
Incremental Updates
- Only re-index changed files
- Background indexing doesn’t slow down Xcode
- Real-time updates as you code
- Efficient memory usage
Index Optimization
Index Optimization
- Compressed index for large codebases
- Fast search even in massive projects
- Intelligent caching of search results
- Background processing for better performance
Privacy and Security
Local Processing
Local Processing
- All indexing happens on your machine
- No code is sent to external servers
- Complete privacy and security
- Works offline
Selective Indexing
Selective Indexing
- Choose which files to index
- Exclude sensitive or private code
- Custom indexing rules
- Team-wide indexing policies
Best Practices
Effective Searching
- Be Specific
- Use Context
- Think Functionally
Good: “Find all SwiftUI views that display user profile information”Avoid: “Find views”
Search Strategies
Start Broad
Begin with general concepts, then narrow down
Use Relationships
Explore related code through search suggestions
Save Searches
Save frequently used searches for quick access
Share Results
Share search results with your team
Troubleshooting
Common Issues
No Search Results
No Search Results
Solutions:
- Try different wording for your query
- Use more specific or more general terms
- Check if the code you’re looking for exists
- Ensure indexing is complete
Slow Search Performance
Slow Search Performance
Solutions:
- Reduce the scope of your search
- Use more specific queries
- Check available system resources
- Restart the indexing process
Inaccurate Results
Inaccurate Results
Solutions:
- Provide more context in your query
- Use more descriptive language
- Try different search approaches
- Report issues for improvement
Beta Feature: Semantic Search is currently in development. Join our waitlist to get early access and help shape this powerful feature.
