Redis Search:加载redis中的所有向量后索引大小为0

问题描述 投票:0回答:0

我已经开始探索 redis 向量搜索模块,我正在按照本教程进行 redis 向量搜索:

https://github.com/RediSearch/RediSearch/blob/master/docs/docs/vecsim-range_queries_examples.ipynb

但是在加载向量后,我得到的索引大小为 0,尽管键存在于 redis 中。

我正在为 POC 使用词向量。

我正在使用此代码创建索引。

redis_conn = Redis(host = host, port = port)
schema = (VectorField("vector", "HNSW", {"TYPE": "FLOAT32", "DIM": dim, "DISTANCE_METRIC": "COSINE"}))
redis_conn.ft('w2v').create_index(schema, definition=IndexDefinition(prefix=["X:"], index_type=IndexType.HASH))
redis_conn.ft('w2v').config_set("default_dialect", 2)

并使用此代码将向量加载到 redis 中:

for key in V.keys():
        np_vector = np.array(V[key])
        key = "X:" + key
        client.hset(key, mapping = {"vector": np_vector.tobytes()})

其中 V 是键和向量的字典。

完成后,我正在通过

检查索引的大小
print("Index size: ", redis_conn.ft('w2v').info()['num_docs'])

但是结果是 0.

我检查了 redis 中的键,它们存在,但我无法执行任何查询。

当前代码有什么问题还是我遗漏了什么?

python-3.x redis word2vec word-embedding
© www.soinside.com 2019 - 2024. All rights reserved.