在Redis Search中存储浮点数或整数列表

svmlkihl  于 9个月前  发布在  Redis
关注(0)|答案(1)|浏览(86)

我在测试Redis矢量搜索解决方案。我已经安装了Redis服务器,并遵循了这些教程和文档:

  1. https://github.com/openai/openai-cookbook/blob/main/examples/vector_databases/redis/getting-started-with-redis-and-openai.ipynb
  2. https://redis.io/docs/interact/search-and-query/
    下面是我想创建的索引结构:
id = NumericField(name="id")
user_id = NumericField(name="user_id")
title = TextField(name="title")
seo = NumericField(name="seo")
email = TextField(name="email")
tariff = NumericField(name="tariff")
cash = NumericField(name="cash")
title_embedding = VectorField("embeddings",
    "HNSW", {
        "TYPE": "FLOAT32",
        "DIM": VECTOR_DIM,
        "DISTANCE_METRIC": DISTANCE_METRIC,
        "INITIAL_CAP": VECTOR_NUMBER,
    }
)
rubrics = ???

看起来这个版本的Redis支持的数据类型非常有限(* 我仍然不清楚这个基于向量的Redis是否与常规Redis有任何不同 *)。
所以基于docsthis Redis只支持以下数据类型:

Number Fields, Geo Fields, Vector Fields, Tag Fields, Text Fields

我应该如何在 this 版本的Redis中存储int列表?
我想在rubrics字段中存储一个int列表,列表如下所示:[1, 22, 33]

i7uaboj4

i7uaboj41#

这是可能的,取决于您的具体使用情况。
如果数字标题用于某种标记(例如,如果文档中有1,则表示有意义),则可以使用TAG字段来预过滤具有或不具有某些标记的文档,以及标记的任何并集(OR)或交集(AND)。
如果文档存储在JSON对象中,也可以使用多值特性。然后,您就可以使用一个数值范围来过滤文档,并过滤在查询范围内的标题字段中具有某些值的文档。
还可以对数值范围查询执行逻辑运算,并将其他条件与其他字段合并组合。
有用文档链接:将很快添加

相关问题