Skip to main content

Omnisearch

Omnisearch is Talonic's global search. Press Cmd+K (or Ctrl+K on Windows) from any page to open it and search across documents, extracted values, field names, schema names, and sources simultaneously. Results are grouped by category, so a document match and a field name match are easy to tell apart.

Omnisearch is designed to be the single entry point for finding anything in the platform. Rather than navigating to specific pages to search within them, Omnisearch queries a materialized values index that aggregates data across all your content. Results are grouped by category so you can quickly distinguish between a document match and a field name match.

The materialized values index is rebuilt automatically whenever documents are processed or schemas change, so search results are always current. There is no manual reindex step — new documents become searchable as soon as extraction completes. This makes Omnisearch reliable even during high-volume ingestion periods.

For best results, use Omnisearch as your primary navigation tool. Instead of browsing through document lists or clicking through the sidebar, press Cmd+K and type what you are looking for — whether it is a specific invoice number, a field name, or a schema title. Most users find that Omnisearch is faster than manual navigation for any task beyond browsing the most recent documents.

Omnisearch results update as you type. The materialized index is rebuilt automatically whenever documents are processed or schemas change, so results are always current.

Searching via API

Search across documents and extracted values via API
# limit caps results per collection (default 20).
curl -s "https://api.talonic.com/v1/search?q=INV-2025-0042&limit=10" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

# Response — five collections; empty arrays where nothing matches:
# {
#   "documents": [
#     { "id": "doc_001", "filename": "Invoice_ACME_2025.pdf", "type_detected": "Invoice" }
#   ],
#   "fieldMatches": [
#     { "document_id": "doc_003", "field": "reference_number", "value": "INV-2025-0042" }
#   ],
#   "sources": [],
#   "schemas": [],
#   "fields": []
# }

What Omnisearch Covers

Omnisearch is powered by a materialized values index that flattens extracted field values into a searchable structure, and it runs several searches in parallel over one query. The categories: documents (file names, display names, detected document types, and triage topics), extracted values (data points across all processed documents), field names (Field Registry canonical names, display names, and variants), schema names and schema field names, and sources (connection names). Results are grouped by category — the panel's tabs are All, Documents, Data, Fields, and Sources — so you can scope the query with one click.

  • Documents — matches file names, display names, detected document types, and triage topics.
  • Extracted Data — finds specific data points: values from the materialized index (filterable), plus job-result values and per-document raw extraction fields.
  • Fields — searches the Field Registry for canonical field definitions, including display-name variants, and schema field names.
  • Templates — locates generated and template schemas by title.
  • Sources — matches source connection names.

The query is normalized on word boundaries: runs of spaces, underscores, and hyphens are interchangeable, so searching test invoice also matches test_invoice and test-invoice. For field results, the document count shown is filter-truth, not registry-truth — it counts the documents the filter can actually produce from the materialized index, which can be lower than the field's raw occurrence count (a field sighted 79 times with no materialized rows filters to zero). Both numbers come back from the API (documentCount and occurrenceCount), so integrations can show the honest one.

Landing on the matched row

A field-level hit does not drop you at the top of a document — it lands you on the matched row of the document fields table. Clicking a single-document data hit opens the document detail page with the field cited in the URL (?cite=<field>&citev=<value>), switches to the All Extracted Fields tab, scrolls the matched row into view centered, and highlights it. The cited value disambiguates duplicate field names, so when a document carries three amount fields you land on the occurrence that actually matched (very long values over 500 characters fall back to name matching alone).

The matched-row deep link
# A single-document field hit opens the document detail page as:
#   /documents/{document_id}?cite=invoice_number&citev=INV-2026-0472
# cite  = the matched field name (scrolls its row into view, highlighted)
# citev = the matched value (picks the right occurrence among duplicate
#         field names; omitted for values longer than 500 characters)

A value found across multiple documents routes differently: instead of picking one document, Omnisearch opens the Documents list pre-filtered to the matching field condition, so you see every document carrying the value and can drill into any of them. The same cite deep link is shareable — paste it to a colleague and they land on the same highlighted row.

Frequently asked questions

How do I use Omnisearch?+
Press Cmd+K (or Ctrl+K) from any page to open global search. It searches across documents, extracted values, field names, schema names, and sources simultaneously.
What does Omnisearch search across?+
Omnisearch searches across documents, extracted values, field names, schema names, and sources simultaneously, providing results from all categories in a single query.
Does Omnisearch work on extracted data or just file names?+
Omnisearch queries a materialized values index that includes both file-level metadata and individual extracted data points. You can search for a specific invoice number, date, or name and find the document that contains it.
How quickly are new documents searchable in Omnisearch?+
Documents become searchable as soon as extraction completes. The materialized index is updated automatically during document processing, so there is no manual reindex step.
Can I search via the API?+
Yes. Use GET /v1/search?q={query} to search programmatically. The response contains five collections: documents, fieldMatches, sources, schemas, and fields, with empty arrays for collections that have no matches. An optional limit parameter caps results per collection (default 20). This is useful for building custom integrations or automating lookups against your document corpus.
Where does clicking a field-level search result take me?+
To the matched row of the document fields table. A single-document hit opens the document detail page, switches to the All Extracted Fields tab, and scrolls the matched row into view highlighted, using a shareable ?cite deep link that also carries the matched value to pick the right occurrence among duplicate field names. A value found in multiple documents opens the pre-filtered Documents list instead.
Why does a field result show fewer documents than its occurrence count?+
The document count is filter-truth: it counts documents the materialized index can actually filter to, while the occurrence count tallies raw extraction sightings in the registry. A field can have been sighted many times without materialized rows, so the filterable count is the honest number for "what will I get if I click this".