from_existing fails on SVS-VAMANA indexes created without compression
I maintainer di solito rispondono entro 4 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 84/100
Direzione di ricerca
Inizia dal blocco compression_mapping in redisvl/redis/connection.py e segui come il suo output viene usato per creare un IndexSchema. Aggiungi un test unitario usando la struttura di FT.INFO indicata nell’issue, quindi verifica che NO_COMPRESSION produca un campo SVS senza attributo compression. Il lavoro è completato quando lo schema viene caricato correttamente per questo caso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 432
- Fork
- 111
- Merge medio
- 5g 22h
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di redis/redis-vl-python
-
RedisVL warnings are never shown when the application has not configured loggingForse già presa @hippi345 l’ha presa 1 giorno fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
redis/redis-vl-python#786 ·
I maintainer di solito rispondono entro 4 giorni
-
exists() depends on exact FT.INFO error wording; an unrecognised "missing index" message makes create() never create the index (regression from #672)Forse già presa @nandanadileep l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
redis/redis-vl-python#773 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Vector field with index_missing=True cannot be createdForse già presa @RaphaelFakhri l’ha presa 11 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
redis/redis-vl-python#770 ·
I maintainer di solito rispondono entro 4 giorni
-
Add Python 3.15 supportForse già presa @vishal-bala l’ha presa 12 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
redis/redis-vl-python#757 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 4 giorni
-
SearchIndex.drop_keys does not validate cluster hash-tag co-location (inconsistent with drop_documents)Forse già presa @Hashim1999164 l’ha presa 10 giorni fa. Apertabug good first issue index
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
redis/redis-vl-python#601 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di redis/redis-vl-python
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
btclib-org/btclib-node#2132 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
freelawproject/juriscraper#2367 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
infra tech-debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
docs(k8s-api-proxy): name the service-account-token Secret path in the read-write mode commentApertaneeds-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
gke-labs/kube-agents#4190 ·
I maintainer di solito rispondono entro 1 giorno