查询

查询 API

VectorQuery

VectorQuery(vector, vector_field_name, return_fields=None, filter_expression=None, dtype='float32', num_results=10, return_score=True, dialect=2)

用于运行向量搜索并附加可选筛选表达式的查询。

  • 参数
    • vector (列表 *[*浮点数 ]) – 需要进行向量搜索的向量。
    • vector_field_name (str) – 在数据库中搜索向量的字段名称。
    • return_fields (List *[*str ]) – 声明的字段,带有搜索结果返回。
    • filter_expression (FilterExpression , optional) – 适用于矢量搜索的过滤器。默认为 None。
    • dtype (str , optional) – 矢量的 dtype。默认为 “float32”。
    • num_results (int , optional) – 矢量搜索返回的顶部 k 个结果。默认为 10。
    • return_score (bool , optional) – 是否返回矢量距离。默认为 True。
    • dialect (int , optional) – RediSearch 查询方言。默认为 2。
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression
注意
了解有关 Redis 中矢量查询的更多信息:/docs/latest/develop/interact/search-and-query/search/vectors/#knn-search

get_filter()

获取查询的筛选表达式。

set_filter(filter_expression=None)

设置查询的筛选表达式。

  • 参数: filter_expression (可选 [FilterExpression ] , optional) – 适用于查询的筛选。
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression

set_paging(first, limit)

设置查询的分页参数以限制结果数量。

  • 参数
    • first (int) – 获取查询结果的零索引偏移量
    • limit (int) – 包括偏移在内的最大结果数
  • 引发: TypeError – 如果 first 或 limit 不是整数。

property params : Dict[str, Any]

返回查询的参数。

  • 返回:查询的参数。
  • 类型: Dict[str, Any]

property query : Query

返回表示查询的 Redis-Py Query 对象。

  • 返回:Redis-Py 查询对象。
  • 类型: redis.commands.search.query.Query

RangeQuery

RangeQuery(vector, vector_field_name, return_fields=None, filter_expression=None, dtype='float32', distance_threshold=0.2, num_results=10, return_score=True, dialect=2)

基于语义距离阈值运行筛选矢量搜索的查询。

  • 参数
    • vector (List *[*float ]) – 使用该矢量执行范围查询。
    • vector_field_name (str) – 在数据库中搜索向量的字段名称。
    • return_fields (List *[*str ]) – 声明的字段,带有搜索结果返回。
    • filter_expression (FilterExpression , optional) – 适用于范围查询的过滤器。默认为 None。
    • dtype (str , optional) – 矢量的 dtype。默认为 “float32”。
    • distance_threshold (字符串 , 浮点数) – 向量距离阈值。阈值越小,语义搜索越严格。默认值为 0.2。
    • num_results (整数) – 要返回的最大结果数。默认值为 10。
    • return_score (bool , optional) – 是否返回矢量距离。默认为 True。
    • dialect (int , optional) – RediSearch 查询方言。默认为 2。
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression
注意
了解有关向量范围查询的详细信息:/docs/latest/develop/interact/search-and-query/search/vectors/#range-query

get_filter()

获取查询的筛选表达式。

set_distance_threshold(distance_threshold)

设置查询的距离阈值。

  • 参数: distance_threshold (浮点数) – 向量距离

set_filter(filter_expression=None)

设置查询的筛选表达式。

  • 参数: filter_expression (可选 [FilterExpression ] , optional) – 适用于查询的筛选。
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression

set_paging(first, limit)

设置查询的分页参数以限制结果数量。

  • 参数
    • first (int) – 获取查询结果的零索引偏移量
    • limit (int) – 包括偏移在内的最大结果数
  • 引发: TypeError – 如果 first 或 limit 不是整数。

属性 distance_threshold :浮点数

返回查询的距离阈值。

  • 返回值: 查询的距离阈值。
  • 返回类型: 浮点数

property params : Dict[str, Any]

返回查询的参数。

  • 返回:查询的参数。
  • 类型: Dict[str, Any]

property query : Query

返回表示查询的 Redis-Py Query 对象。

  • 返回:Redis-Py 查询对象。
  • 类型: redis.commands.search.query.Query

FilterQuery

FilterQuery(filter_expression, return_fields=None, num_results=10, dialect=2, params=None)

用于运行带过滤表达式的过滤搜索的查询。

  • 参数
    • filter_expression (FilterExpression) – 要查询的过滤表达式。
    • return_fields (可选 *[*列表 *[*字符串 ] ] , 可选) – 要返回的字段。
    • num_results (可选 *[*整数 ] , 可选) – 要返回的结果数。默认值为 10。
    • params (可选 *[*字典 *[*字符串 , 任何值 ] ] , 可选) – 查询的参数。默认值为无。
    • dialect (整数) –
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression
from redisvl.query import FilterQuery
from redisvl.query.filter import Tag

t = Tag("brand") == "Nike"
q = FilterQuery(return_fields=["brand", "price"], filter_expression=t)

get_filter()

获取查询的筛选表达式。

set_filter(filter_expression=None)

设置查询的筛选表达式。

  • 参数: filter_expression (可选 [FilterExpression ] , optional) – 适用于查询的筛选。
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression

set_paging(first, limit)

设置查询的分页参数以限制结果数量。

  • 参数
    • first (int) – 获取查询结果的零索引偏移量
    • limit (int) – 包括偏移在内的最大结果数
  • 引发: TypeError – 如果 first 或 limit 不是整数。

property query : Query

返回表示查询的 Redis-Py Query 对象。

  • 返回:Redis-Py 查询对象。
  • 类型: redis.commands.search.query.Query

CountQuery

CountQuery(filter_expression, dialect=2, params=None)

提供某种过滤表达式的简单计数操作的查询。

  • 参数
    • filter_expression (FilterExpression) – 要查询的过滤表达式。
    • params (可选 *[*字典 *[*字符串 , 任何值 ] ] , 可选) – 查询的参数。默认值为无。
    • dialect (整数) –
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression
from redisvl.query import CountQuery
from redisvl.query.filter import Tag

t = Tag("brand") == "Nike"
query = CountQuery(filter_expression=t)

count = index.query(query)

get_filter()

获取查询的筛选表达式。

set_filter(filter_expression=None)

设置查询的筛选表达式。

  • 参数: filter_expression (可选 [FilterExpression ] , optional) – 适用于查询的筛选。
  • Raises: TypeError – 如果 filter_expression 不属于 redisvl.query.FilterExpression

set_paging(first, limit)

设置查询的分页参数以限制结果数量。

  • 参数
    • first (int) – 获取查询结果的零索引偏移量
    • limit (int) – 包括偏移在内的最大结果数
  • 引发: TypeError – 如果 first 或 limit 不是整数。

property params : Dict[str, Any]

查询的参数。

  • 返回:查询的参数。
  • 类型: Dict[str, Any]

property query : Query

已加载的 Redis-Py 查询。

  • 返回:Redis-Py 查询对象。
  • 类型: redis.commands.search.query.Query
RATE THIS PAGE
Back to top ↑