AircraftOps
Search
Posts

Typesense Search Datastore

Dataset → Database

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