Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Vector indexes page: say which Cloud plans support them, and that a non-prefix filter skips the index

Open
#23,467 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
88/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
sql
Domain
documentation

Research direction

Start with the Vector indexes page, especially the "Define prefix columns" section, and review the reported Basic-cluster measurements and query plans. Update the page to state which Cloud plans support vector indexes and explain that non-prefix filters, including a vector-column IS NOT NULL check, can cause a full scan, with an EXPLAIN pair showing both cases.

Written by the indexing model from the issue text.

Description

Page: https://docs.cockroachlabs.com/docs/stable/vector-indexes

Two things I had to measure while building on a CockroachDB Cloud Basic cluster that the page could answer directly.

1. Which Cloud plans support vector indexes. The page doesn't say whether they work on Basic, Standard and Advanced. On a Basic cluster running v26.2.1, on 2026-08-03, SHOW CLUSTER SETTING feature.vector_index.enabled returned true and CREATE VECTOR INDEX completed. A line on plan availability, and on whether the setting is already on for Basic, would save the next person the experiment.

2. What a filter on a non-prefix column does to the plan. The page says an index is only used when each prefix column is constrained, and lists "Index acceleration with filters is only supported if the filters match prefix columns" as a limitation. I read that limitation as "the filter won't be accelerated" and expected a vector search followed by filtering. What I measured was the index skipped entirely. Same Basic cluster, August 2026, statistics freshly collected:

Filter Index Plan
none (embedding vector_cosine_ops) vector search
WHERE evicted_at IS NULL (embedding vector_cosine_ops) FULL SCAN
WHERE workspace_id = $1 (embedding vector_cosine_ops) FULL SCAN
WHERE workspace_id = $1 AND is_live (workspace_id, is_live, embedding vector_cosine_ops) vector search, prefix spans
WHERE workspace_id = $1 AND is_live AND embedding IS NOT NULL (workspace_id, is_live, embedding vector_cosine_ops) FULL SCAN

The query was SELECT ... FROM memory WHERE <filter> ORDER BY embedding <=> $2::VECTOR LIMIT $3. The last row surprised me most: an IS NOT NULL check on the vector column itself was enough to lose the index.

Suggested addition under "Define prefix columns": one sentence saying that when a query also filters on a column that isn't a prefix column, the optimizer doesn't use the vector index and falls back to a full scan, with an EXPLAIN pair showing both cases.

Jira issue: DOC-19240

Dominant language
HTML
Stars
212
Forks
479
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.