最近更新时间: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
}
}
纯净模式
