Skip to content

Indexes API

C-SPANN index configuration.

langchain_cockroachdb.indexes.CSPANNIndex

CockroachDB C-SPANN vector index configuration.

C-SPANN (CockroachDB SPANN) is CockroachDB's vector indexing algorithm for real-time indexing of billions of vectors in distributed systems. Based on Microsoft's SPANN (Space Partition with Approximate Nearest Neighbor).

__init__(distance_strategy=DistanceStrategy.COSINE, min_partition_size=None, max_partition_size=None, name=None)

Initialize C-SPANN index configuration.

Parameters:

Name Type Description Default
distance_strategy DistanceStrategy

Distance metric to use

COSINE
min_partition_size int | None

Minimum partition size for C-SPANN

None
max_partition_size int | None

Maximum partition size for C-SPANN

None
name str | None

Optional custom index name

None

get_create_index_sql(table_name, column_name, *, schema='public', prefix_columns=None)

Generate CREATE VECTOR INDEX SQL.

Parameters:

Name Type Description Default
table_name str

Target table name

required
column_name str

Vector column name

required
schema str

Database schema

'public'
prefix_columns list[str] | None

Optional prefix columns for multi-tenant indexes

None

Returns:

Type Description
str

SQL statement to create the index

get_drop_index_sql(table_name, column_name, *, schema='public')

Generate DROP INDEX SQL.

Parameters:

Name Type Description Default
table_name str

Target table name

required
column_name str

Vector column name

required
schema str

Database schema

'public'

Returns:

Type Description
str

SQL statement to drop the index

langchain_cockroachdb.indexes.DistanceStrategy

Bases: str, Enum

Distance strategies for vector similarity.

get_opclass()

Get index operator class.

get_operator()

Get SQL operator for distance calculation.

Distance Strategies

Strategy Operator Best For
COSINE <=> Normalized vectors (most embeddings)
EUCLIDEAN <-> Spatial data, L2 distance
INNER_PRODUCT <#> Pre-normalized vectors

Examples

See Vector Indexes Guide for complete examples.