Create a Vector Index

Define a Vector Index over an embedding column.

In development

Define a Vector Index once for an embedding column, such as embedding in frames, and rebuild it after the Table changes. Creation stores the definition and reads the source schema. It does not read embedding rows or build the index.

Before you start

  • A Table with a column of fixed-size floating-point lists, for example frames with the column embedding.
  • Permission to create Resources in the Project.

Create and publish the definition

Open the source Table at a branch snapshot. Create the definition from its column name. Publish the new name through a commit.

project = client.project("demo")
head = project.branch("main")
frames = head.table("frames")
index = project.create_vector_index(frames, "embedding")
commit = head.commit()
commit.create_vector_index("frame-search", index)
commit.publish()

The clients resolve the stable field identity and dimensions from the exact source schema. The default metric is cosine. The definition uses the vortex.ivf-rabitq engine. Engine options select build controls.

Create the Vector Index in Studio

  1. Select the branch in the top bar.
  2. Select Create resource → Vector Index.
  3. Enter a name, for example frame-search.
  4. Enter the Source table, frames, and the Vector field, embedding.
  5. Select the Distance metric: Cosine, Dot product, or Euclidean.
  6. Create the Vector Index.

Studio creates the index with the vortex.ivf-rabitq engine and its default build options, and publishes the name on the selected branch.

Verify the result

The new Vector Index appears in the sidebar. It has no built version yet, so a search fails until the first refresh. Next, refresh the Vector Index.

Troubleshooting

ProblemCause
The vector field is rejectedThe column is not a fixed-size list of floating-point values.
The source is rejectedThe source is not a Table in the same Project.

Availability

The HTTP create operation accepts the stable field identity from ScanDAL scan metadata. The clients require a host that exposes these identities. An older host returns an error before resource creation.

Found a problem? Edit this page or report an issue.

On this page