Vector indexes page: say which Cloud plans support them, and that a non-prefix filter skips the index
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- sql
- Área
- documentation
Línea de trabajo
Comienza con la página de Vector indexes, especialmente con la sección "Define prefix columns", y revisa las mediciones y los planes de consulta indicados para el clúster Basic. Actualiza la página para indicar qué planes de Cloud admiten Vector indexes y explicar que los filtros que no son de prefijo, incluida una comprobación IS NOT NULL sobre una columna vectorial, pueden provocar un escaneo completo, con un par de EXPLAIN que muestre ambos casos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- HTML
- Estrellas
- 212
- Forks
- 479
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Issues similares
-
Link Checker ReportAbiertoautomated issue report
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
microsoft/playwright#43640 ·
Los mantenedores suelen responder en 1 día
-
units: No `#` in rustdoc headingAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 67/100
rust-bitcoin/rust-bitcoin#7089 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
docs(changelog): drop the "preserve literal scientific brackets" clause from the 7600 fragmentAbiertodocumentation from-review-extraction severity:nit
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
LearningCircuit/local-deep-research#7949 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
DouyinFE/semi-design#3632 ·
Los mantenedores suelen responder en 3 días