Global Search
Quickly find tickets, jobs, invoices, estimates, and customers from anywhere in BlueClerk
Overview
Global search lets you instantly find any record in BlueClerk without navigating through menus. The search functionality is now located in the sidebar for easy access. Type a ticket number, job number, invoice number, or customer name and jump straight to what you need.
NEW: Faster, more accurate search - All search queries now use startsWith matching on structured fields (numbers, names, addresses) instead of contains, making searches instant and eliminating slow full-table scans. Description fields still use contains where they're constrained by companyId for safety.
How to Use Global Search
Accessing Search
- Look for the search box in the sidebar on the left side of any page
- Click inside or use the keyboard shortcut (Cmd+K on Mac, Ctrl+K on Windows)
- Start typing your search term
What You Can Search
Global search covers:
- Ticket numbers - Type the ticket number to jump to that ticket
- Job numbers - Find scheduled work by job number
- Invoice numbers - Locate any invoice instantly
- Estimate numbers - Find quotes you've sent
- Customer names - Search by homeowner or business name
- Company names - Find business customers
- Property addresses - Search by street address or city
Search Performance
Search results appear instantly because:
- Structured fields use startsWith - Ticket numbers, invoice numbers, customer names, and addresses match from the beginning of the field (e.g., "12345" matches invoice #12345-2024)
- Database indexes work efficiently - StartsWith queries hit btree indexes, avoiding slow full-table scans
- Description fields still searchable - Notes and descriptions use contains matching but are always constrained by your companyId first
Search Tips
Be Specific
- Start with what you know - Ticket number, invoice number, or customer last name
- Fewer characters = more results - Start broad, then narrow down
- Exact matches appear first - Results are sorted by relevance
Use Partial Matches
- Type "Smith" to find all customers with Smith in their name
- Type "Oak" to find properties on Oak Street, Oak Lane, etc.
- Type "2024" to find all tickets/invoices from 2024
Quick Navigation
Once you find what you're looking for:
- Click the result to open the full record
- Hit Enter if there's only one match to jump directly
- Use arrow keys to navigate multiple results
Common Searches
Find a Ticket
- Type the ticket number (e.g., "T-1234")
- Or type the customer name to see all their tickets
Find an Invoice
- Type the invoice number (e.g., "INV-2024-001")
- Or search by customer name to see all their invoices
Find a Property
- Type the street address (e.g., "123 Main")
- Or type the city name to see all properties in that area
Find a Customer
- Type the customer's last name
- Or type the company name for business customers
Questions
Q: Why don't I see some results when I search? A: Search only shows records you have permission to see. If you're a team member with limited permissions, you won't see records outside your scope. Search now uses startsWith matching on names and numbers - if you're searching for something in the middle of a field, try searching from the beginning instead.
Q: Can I search for old/archived records? A: Yes, global search includes completed jobs, paid invoices, and closed tickets. All records are searchable regardless of status.
Q: Does search work on mobile? A: Yes, the search box appears in the mobile sidebar just like on desktop. Tap to open, type your query, and tap results to navigate.
Q: Why is search so much faster now? A: Search queries now use startsWith matching on indexed fields instead of contains, allowing the database to use btree indexes efficiently. This eliminates slow full-table scans and makes search instant even with large datasets.