from_existing fails on SVS-VAMANA indexes created without compression
Los mantenedores suelen responder en 4 días
@itsrayeedscodespace ya está trabajando en esto.
Desde el 27/10/2026.
- #790 de @itsrayeedscodespace — abierto
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
Línea de trabajo
Empieza por el bloque compression_mapping en redisvl/redis/connection.py y sigue cómo se usa su resultado para construir un IndexSchema. Añade una prueba unitaria con la estructura de FT.INFO indicada en el issue y comprueba después que NO_COMPRESSION produce un campo SVS sin atributo compression. Se considera terminado cuando el esquema se carga correctamente para ese caso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
SearchIndex.from_existing fails on any SVS-VAMANA index created without compression.
For such a field, FT.INFO reports compression NO_COMPRESSION. Measured on Redis 8.2.7, 8.4.7 and 8.10.0, for both HASH and JSON storage. convert_index_info_to_schema maps only GlobalSQ8 and GlobalSQ4 and passes any other value through unchanged (redisvl/redis/connection.py, the compression_mapping block). CompressionType accepts only the LVQ and LeanVec values, so building the schema raises a ValidationError and the index cannot be loaded at all.
Reproduction
This uses the field as FT.INFO returns it, so it needs no server:
from redisvl.redis.connection import convert_index_info_to_schema
from redisvl.schema import IndexSchema
info = {
"index_name": "svs",
"index_definition": {"key_type": "HASH", "prefixes": ["svs"]},
"attributes": [{
"identifier": "emb", "attribute": "emb", "type": "VECTOR",
"algorithm": "SVS-VAMANA", "data_type": "FLOAT32", "dim": 3,
"distance_metric": "COSINE", "compression": "NO_COMPRESSION",
"graph_max_degree": 32, "construction_window_size": 200,
}],
}
IndexSchema.from_dict(convert_index_info_to_schema(info))
pydantic_core._pydantic_core.ValidationError: 1 validation error for IndexSchema
attrs.compression
Input should be 'LVQ4', 'LVQ4x4', 'LVQ4x8', 'LVQ8', 'LeanVec4x8' or 'LeanVec8x8' [type=enum, input_value='NO_COMPRESSION', input_type=str]
Expected behaviour
from_existing returns a schema whose SVS field has no compression attribute, matching how the index was created.
Proposed fix
Treat NO_COMPRESSION as the absence of compression and omit the key. A unit test built from the FT.INFO shape above would cover it.
- Lenguaje dominante
- Python
- Estrellas
- 432
- Forks
- 111
- Merge medio
- 5 d 22 h
- PR fusionados (30 d)
- 13
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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.
Más de redis/redis-vl-python
-
RedisVL warnings are never shown when the application has not configured loggingPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
redis/redis-vl-python#786 ·
Los mantenedores suelen responder en 4 días
-
exists() depends on exact FT.INFO error wording; an unrecognised "missing index" message makes create() never create the index (regression from #672)Posiblemente ocupada @nandanadileep la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
redis/redis-vl-python#773 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
Vector field with index_missing=True cannot be createdPosiblemente ocupada @RaphaelFakhri la tomó hace 10 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redis/redis-vl-python#770 ·
Los mantenedores suelen responder en 4 días
-
Add Python 3.15 supportPosiblemente ocupada @vishal-bala la tomó hace 12 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
redis/redis-vl-python#757 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 4 días
-
SearchIndex.drop_keys does not validate cluster hash-tag co-location (inconsistent with drop_documents)Posiblemente ocupada @Hashim1999164 la tomó hace 9 días. Abiertobug good first issue index
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
redis/redis-vl-python#601 ·
Los mantenedores suelen responder en 4 días
Todos los issues de redis/redis-vl-python
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
glossyio/traffic-monitor#264 ·
Los mantenedores suelen responder en 1 día
-
Add self-hostAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Atarity/deploy-your-own-saas#102 ·
-
[Bug]: RDFlex silently drops the covariate adjustment when the outcome or treatment column is integer-typedPosiblemente ocupada @vrjdev la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DoubleML/doubleml-for-py#424 ·
Los mantenedores suelen responder en 1 día
-
agentic-dmx docs enhancement
Dificultad 1/5 1-3 horas Aptitud para principiantes 86/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
521xueweihan/HelloGitHub#4150 ·