Typesense Search Datastore
Technical reference for Typesense search collections used within the AircraftOps platform, including aircraft types, manufacturers, registry records, and aircraft imagery indexing.
Indexing Pipeline
Search index updates are processed asynchronously using a stream-driven indexing architecture. All ingestion workflows first write canonical records to the primary datastore. Change events emitted from the datastore stream are then used to trigger search indexing jobs.
Ingestion / Application Write
↓
Primary Datastore (DynamoDB)
↓
DynamoDB Streams (Change Events)
↓
Index Sync Publisher (Lambda)
↓
SQS Indexing Queue
↓
Index Worker (Lambda)
↓
Typesense Collection Upsert
This stream-based indexing architecture ensures that search collections remain synchronized with the primary datastore without requiring ingestion pipelines to directly manage search updates.
- DynamoDB remains the authoritative source of truth
- Streams guarantee that all record mutations are captured for indexing
- SQS provides buffering, retry handling, and throughput control
- Index workers process queue messages and safely upsert documents into Typesense
- Search indexing operates independently of ingestion execution latency
Collections Overview
| Collection | Purpose |
|---|---|
| icao_aircraft | Searchable ICAO aircraft type index used for autocomplete and filtering |
| icao_manufacturers | Manufacturer search index supporting alias matching and country filtering |
| registry | Aircraft registration search index enabling registry lookups and owner filtering |
| aircraft_images | Curated aircraft image metadata index for media search workflows |
icao_aircraft Collection
Stores normalized aircraft type metadata supporting search by designator, manufacturer, model, and aircraft characteristics.
- Primary identifier: type_designator
- Facet fields: manufacturer, engine_count, wtc
- Alias search: aliases field supports alternate naming lookups
- Search use cases: aircraft autocomplete, aircraft filtering, registry linking
icao_manufacturers Collection
Stores manufacturer entities used for search autocomplete, normalization, and alias resolution across ingestion pipelines.
- Primary identifier: display_name
- Facet fields: country, status
- Alias support: aliases field enables alternate manufacturer name matching
- Search use cases: manufacturer filtering, ingestion normalization
registry Collection
Search index of aircraft registration records enabling rapid lookup by registration identifiers, owner information, aircraft attributes, and registry status.
- Primary identifier: registration_id
- Facet fields: status, aircraft_make, icao_code
- Sortable timestamps: last_action, expiration, last_synced
- Search use cases: registration lookup, ownership search, aircraft filtering
aircraft_images Collection
Search index storing curated aircraft image metadata associated with aircraft types, serials, and tail numbers. Supports filtering by aircraft characteristics and upload time ordering.
- Primary identifier: image record ID
- Sortable field: uploaded_at
- Search use cases: aircraft media retrieval, gallery views, asset linking
Operational Notes
- Collections are updated asynchronously via ingestion pipeline index sync jobs
- Schema definitions are managed centrally through repository-tracked schema files
- Collection rebuilds occur during controlled schema migrations
- Search workloads are isolated from transactional datastore operations