Overview#
An analyst working a people-trafficking investigation types a partial surname into the platform search bar. In under a second, results come back from entity profiles, investigation records, and evidence metadata: a person record matching the name, two documents mentioning it, and a location record three degrees away in the entity graph. She narrows the results with a geographic filter to a specific city and a time window covering the last six months. The Search domain makes this possible by maintaining indexes across the platform's data, combining full-text, semantic, faceted, geospatial, and graph-based search into a single interface with relevance tuning and health monitoring.
Key Features#
-
Multiple Search Types: Choose from full-text keyword search, semantic similarity search, faceted filtering, geospatial proximity search, temporal range search, and graph relationship search depending on the nature of the query.
-
Index Management: Create and manage search indexes with configurable field definitions, relevance weighting, and analysis settings to optimise search results for specific use cases.
-
Index Templates: Define reusable index configurations with preset field mappings, analysers, and scaling parameters for consistent and rapid index creation across the platform.
-
Indexing Job Management: Run full rebuild, incremental update, optimisation, and validation jobs to keep search indexes current and performant as data changes.
-
Search Analytics: Monitor query patterns, search performance, and index utilisation to understand how users search and identify opportunities to improve search relevance.
-
Health Monitoring: Track index health scores, identify issues, and receive optimisation suggestions to maintain reliable search performance.
Use Cases#
Cross-data-type search capabilities apply wherever analysts must move quickly across large, heterogeneous datasets. Relevant industries include law enforcement, financial intelligence, and defence and national security.
-
Investigation Search: Search across investigation records, evidence, and associated entities to quickly find relevant information during active cases.
-
Entity Discovery: Locate persons, organisations, vehicles, and other entities across the platform using name, identifier, or attribute-based search.
-
Geographic Search: Find records within a specified geographic area or radius for location-based investigations and operational awareness.
-
Temporal Analysis: Search for events, communications, and records within specific time windows to build investigative timelines.
Integration#
The Search domain connects with other platform capabilities for comprehensive data discovery:
- Investigation Management: Investigation data is indexed for rapid retrieval
- Profile Management: Entity profiles are searchable across all profile types
- Evidence Management: Evidence metadata is indexed for discovery
- Analytics: Search usage patterns feed into operational analytics
Open Standards#
- GraphQL (June 2018 specification): the entire search API, including index management, document indexing, hybrid search, and analytics queries, is exposed through a strongly typed GraphQL schema with cursor-based pagination.
- Okapi BM25: full-text relevance ranking uses PostgreSQL
ts_rankwithtsvector/tsquery, which implements the BM25 probabilistic term-frequency model to score keyword search results. - Reciprocal Rank Fusion (RRF, Cormack et al. SIGIR 2009, DOI 10.1145/1571941.1572114): hybrid search fuses BM25 keyword rankings and dense vector rankings using the RRF algorithm with the standard k=60 smoothing constant.
- Dense vector similarity search (ANN cosine similarity): the semantic index type stores and queries float embeddings via approximate nearest-neighbour search, following the standard cosine-similarity scoring model used in bi-encoder retrieval.
- JSON (RFC 8259): document metadata, index configuration, job logs, and analytics payloads are all stored and transmitted as JSON objects.
- ISO 8601: all timestamps for indexes, indexing jobs, documents, and analytics trends are serialised in ISO 8601 extended date-time format.
- OAuth 2.0 / JWT (RFC 6749, RFC 7519): every query and mutation is gated by an
IsAuthenticatedpermission class that validates a JWT bearer credential issued by the platform authorisation server.
Last Reviewed: 2026-02-09 Last Updated: 2026-04-14