全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

向量检索

最近更新时间:2026-11-03 20:47:21

query 命令用于把查询内容(文本或图片)向量化,再在向量索引中查找语义最相似的向量。

重要:查询时需先将查询输入转为向量,转换所用的向量模型必须与写入该索引时使用的模型相同。

文本向量相似度检索

用文本查询语义相似的向量,--top-k 控制返回结果数量:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --text-value:         检索文本
# --top-k:              返回最相似结果的数量

ks3-vectors-embed query \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "什么是向量数据库" \
  --top-k 5

查询输出示例:

{
  "results": [
    {
      "key": "77faa708-ffb9-482b-85e6-f12852678219",
      "distance": 0.8120,
      "metadata": {
        "KS3VECTORS-EMBED-SRC-CONTENT": "向量数据库是用于存储和检索高维向量的专用数据库系统。",
        "KS3VECTORS-EMBED-SRC-LOCATION": "user-guide.txt",
        "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT"
      }
    }
  ],
  "summary": {
    "queryType": "text",
    "model": "qwen3-vl-embedding",
    "index": "test-index",
    "resultsFound": 5,
    "queryDimensions": 1024
  }
}

图片向量相似度检索

用图片检索最相似的向量,可用于"以图搜图"等场景:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --image:              检索图片
# --top-k:              返回最相似结果的数量

ks3-vectors-embed query \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --image "./query-images/similar-product.jpg" \
  --top-k 30

查询输出示例:

{
  "results": [
    {
      "key": "413da90e-0560-4596-b3a4-3b6590ce9c09",
      "distance": 0.7521,
      "metadata": {
        "KS3VECTORS-EMBED-SRC-LOCATION": "similar-product.png",
        "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "IMAGE"
      }
    }
  ],
  "summary": {
    "queryType": "image",
    "model": "qwen3-vl-embedding",
    "index": "test-index",
    "resultsFound": 30,
    "queryDimensions": 1024
  }
}

向量和标量混合检索

用 --filter 参数按标量元数据过滤,缩小查询范围。支持单条件过滤,也支持多条件组合过滤。

单条件过滤

查询 category 为 technology 的向量:

# 参数说明:
# --filter: 实现标量元数据过滤

ks3-vectors-embed query \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "技术文档" \
  --filter '{"category": {"$eq": "technology"}}' \
  --top-k 20

查询输出示例:

{
  "results": [
    {
      "key": "3394a15a-9746-49fb-861a-cc81fa8849cf",
      "distance": 0.6831,
      "metadata": {
        "KS3VECTORS-EMBED-SRC-CONTENT": "技术文档内容",
        "author": "admin",
        "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input",
        "category": "technology",
        "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
        "version": "1.0"
      }
    }
  ],
  "summary": {
    "queryType": "text",
    "model": "qwen3-vl-embedding",
    "index": "test-index",
    "resultsFound": 4,
    "queryDimensions": 1024
  }
}

多条件组合过滤

支持基于过滤语法组合多个条件,如 AND、OR 等,以下以 AND 条件为例。AND 查询需匹配所有条件:

# 参数说明:
# --filter: AND 查询,两个条件都必须匹配

ks3-vectors-embed query \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "API 参考" \
  --filter '{"$and": [{"category": {"$eq": "documentation"}}, {"version": {"$eq": "3.0"}}]}' \
  --top-k 5

查询输出示例:

{
  "results": [
    {
      "key": "aa9f99bf-60a2-490b-a5cd-c81f375049a9",
      "distance": 0.7245,
      "metadata": {
        "KS3VECTORS-EMBED-SRC-CONTENT": "API 参考",
        "author": "admin",
        "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input",
        "category": "documentation",
        "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
        "version": "3.0"
      }
    }
  ],
  "summary": {
    "queryType": "text",
    "model": "qwen3-vl-embedding",
    "index": "test-index",
    "resultsFound": 5,
    "queryDimensions": 1024
  }
}

以表格形式输出

--output table 以表格形式输出检索结果,便于阅读和调试:

# 参数说明:
# --output table:       指定表格形式输出检索结果
# --no-return-metadata: 不返回元数据,使表格更简洁

ks3-vectors-embed query \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text "./queries/user-question.txt" \
  --top-k 3 \
  --no-return-metadata \
  --output table

自定义模型参数

通过 --embedding-inference-params 传递模型特定参数(JSON 格式)以精细控制查询输入的向量化行为,如向量维度等。具体可用参数取决于所用的向量模型:

ks3-vectors-embed query \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "技术文档" \
  --embedding-inference-params '{"parameters": {"dimension": 1024}}' \
  --top-k 10

命令返回示例:

{
  "results": [
    {
      "key": "3d8935dd-6395-4c9c-a501-df902846ec80",
      "distance": 0.7821,
      "metadata": {
        "KS3VECTORS-EMBED-SRC-CONTENT": "技术文档",
        "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input",
        "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT"
      }
    }
  ],
  "summary": {
    "queryType": "text",
    "model": "qwen3-vl-embedding",
    "index": "test-index",
    "resultsFound": 10,
    "queryDimensions": 1024
  }
}

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈