Configuration Reference
Introduction
The configuration is a metadata object that lists all the database entities — such as collections and fields — that the data connector has to know about in order to serve queries. It never changes during the lifetime of the data connector service instance. When your database schema changes you will have to update the configuration accordingly, see updating with introspection.
Structure
The configuration object is a JSON object with the following fields:
{
"config": {
"collection_names": [],
"object_fields": {},
"object_types": {},
"collection_vectors": {},
"functions": [],
"procedures": []
}
}
Property: Collection Names
This is an array of collection (table) names that are included in the configuration. This is a required field.
{
"collection_names": ["multivector_collection", "terraforming", "star_charts"]
}
Property: Object Fields
This is a JSON object that maps each collection name to its field names. These field names correspond to the attributes or columns available in each collection.
{
"multivector_collection": ["name", "type", "id", "score", "vector"]
}
Property: Object Types
This is a JSON object providing detailed type information for each field in every collection. It includes both required and nullable fields, using type descriptors.
{
"multivector_collection": {
"fields": {
"id": {
"type": {
"type": "named",
"name": "Int"
}
},
"score": {
"type": {
"type": "nullable",
"underlying_type": {
"type": "named",
"name": "Float"
}
}
}
}
}
}
For nullable fields, the type is wrapped in a nullable
descriptor:
{
"vector": {
"type": {
"type": "nullable",
"underlying_type": {
"type": "array",
"element_type": {
"type": "named",
"name": "Float"
}
}
}
}
}
Property: Collection Vectors
This field maps collection names to a boolean indicating whether the collection supports multi-vector search.
{
"terraforming_plans": true,
"multivector_collection": false
}
Property: Functions and Procedures
Arrays of function and procedure definitions.
{
"functions": [],
"procedures": []
}
Updating with introspection
Whenever the schema of your database changes you will need to update your data connector configuration accordingly to reflect those changes.
Running update
in a configuration directory will do the following:
- Connect to the database and refresh the collection metadata
- Update the
collection_names
,object_fields
, andobject_types
to reflect the current database schema - Preserve any custom configuration that doesn't conflict with the updated schema