Property Projections
Configure how model properties appear in persistence, search, API, and custom downstream contexts using opt-in projections.
Projections define how a model property appears in different downstream contexts. Each property on a model entity supports four projection types: persistence, search, API, and custom. Every projection is opt-in, meaning its absence indicates that the property is not included in that context.
Projection Types Overview
The four projection types serve distinct purposes in the data pipeline.
Projection Comparison
The following table summarises the configuration options available on each projection type.
Persistence Projection
The persistence projection controls how a property maps to the underlying data store. It has two configuration options.
{
"persistence": {
"included": true,
"columnName": "customer_email"
}
}
Search Projection
The search projection is the most detailed projection type. It controls how a property is indexed, queried, and ranked by the search engine.
Core Settings
Search Behaviours
Five boolean flags control how the field participates in search operations.
Search Field Types
The search projection supports 17 field types across 7 categories.
Vector Search Configuration
Properties with a vector search field type require additional configuration for similarity search.
{
"search": {
"included": true,
"searchFieldType": "dense_vector",
"dimensions": 1536,
"vectorSearchProfile": "hnsw-default",
"similarityMetric": "cosine",
"searchBehaviours": {
"searchable": true,
"filterable": false,
"sortable": false,
"facetable": false,
"retrievable": true
}
}
}
Profile Overrides and Sub-fields
Search projections support two advanced features for multi-profile and multi-field scenarios.
API Projection
The API projection determines how a property is exposed through generated API contracts.
{
"api": {
"included": true,
"fieldName": "email",
"readOnly": false
}
}
Custom Projection
The custom projection provides a flexible extension point for downstream systems not covered by the built-in projection types.
{
"custom": {
"included": true,
"metadata": {
"exportFormat": "parquet",
"piiClassification": "confidential",
"retentionDays": 365
}
}
}