Skip to main content

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:

Search Examples

Finding Authentication Code

Query: “Where does user authentication happen?” Results:
  • LoginViewController.swift - UI for login
  • AuthService.swift - Authentication logic
  • UserManager.swift - User session management
  • KeychainHelper.swift - Secure token storage
  • BiometricAuth.swift - Touch ID/Face ID integration

Locating Network Requests

Query: “Show me all API calls in my app” Results:
  • All URLSession implementations
  • 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.swift
  • UserListView.swift
  • UserDetailView.swift
  • Any view that uses @StateObject var user: User

Advanced Search Features

Context-Aware Results

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
Recognizes framework-specific patterns:
  • SwiftUI: Finds @State, @Binding, @ObservedObject
  • UIKit: Locates UIViewController, UIView subclasses
  • Combine: Identifies publishers, subscribers, operators
  • Core Data: Finds entities, relationships, fetch requests

Smart Suggestions

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:
  • “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”
  • “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

  • in:views - Search only in view files
  • in:models - Search only in model files
  • in:services - Search only in service files
  • in:utils - Search only in utility files
  • calls:functionName - Find code that calls a specific function
  • used-by:className - Find where a class is used
  • imports:framework - Find files that import a specific framework
  • extends: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 Xcode
2

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

  • See how code has evolved over time
  • Find when specific patterns were introduced
  • Track refactoring history
  • Understand code ownership
  • 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

  • Only re-index changed files
  • Background indexing doesn’t slow down Xcode
  • Real-time updates as you code
  • Efficient memory usage
  • Compressed index for large codebases
  • Fast search even in massive projects
  • Intelligent caching of search results
  • Background processing for better performance

Privacy and Security

  • All indexing happens on your machine
  • No code is sent to external servers
  • Complete privacy and security
  • Works offline
  • 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

Solutions:
  1. Try different wording for your query
  2. Use more specific or more general terms
  3. Check if the code you’re looking for exists
  4. Ensure indexing is complete
Solutions:
  1. Reduce the scope of your search
  2. Use more specific queries
  3. Check available system resources
  4. Restart the indexing process
Solutions:
  1. Provide more context in your query
  2. Use more descriptive language
  3. Try different search approaches
  4. 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.