当然,这里是一个简单的 Vearch 使用实例,演示如何创建一个向量数据库,插入向量数据,并进行搜索。
环境准备
首先,确保你已经安装了 Docker,因为 Vearch 的官方镜像可以通过 Docker 快速部署。
步骤 1:启动 Vearch
使用 Docker 启动 Vearch:
docker run -d --name vearch -p 8817:8817 -p 9001:9001 vearch/vearch
步骤 2:创建数据库和表
使用 curl
命令来创建数据库和表。首先,创建一个名为 example_db
的数据库:
curl -X PUT "http://localhost:8817/db/_create/example_db"
然后,创建一个名为 example_table
的表,并定义其 schema。假设我们要存储图像向量,每个向量有 128 维:
curl -X PUT "http://localhost:8817/space/_create/example_db/example_table" -H "Content-Type: application/json" -d '
{
"name": "example_table",
"partition_num": 1,
"replica_num": 1,
"engine": {
"name": "gamma",
"index_size": 100000
},
"properties": {
"feature": {
"type": "vector",
"dimension": 128,
"format": "normalization"
}
}
}'
步骤 3:插入向量数据
假设我们有一些 128 维的向量数据要插入表中:
curl -X POST "http://localhost:9001/example_db/example_table" -H "Content-Type: application/json" -d '
{
"feature": [0.1, 0.2, 0.3, ..., 0.128]
}'
注意:请将 [0.1, 0.2, 0.3, ..., 0.128]
替换为实际的 128 维向量数据。
步骤 4:搜索向量
现在我们可以进行向量搜索。假设我们要搜索一个 128 维的查询向量:
curl -X POST "http://localhost:9001/example_db/example_table/_search" -H "Content-Type: application/json" -d '
{
"query": {
"sum": [
{
"feature": {
"feature": [0.1, 0.2, 0.3, ..., 0.128],
"min_score": 0.0,
"boost": 1
}
}
]
},
"size": 10
}'
这将返回与查询向量最相似的前 10 个向量。
总结
以上是一个简单的 Vearch 使用实例,演示了如何创建数据库和表,插入向量数据,并进行搜索。Vearch 提供了强大的向量搜索功能,适合处理高维数据和大规模数据集。你可以根据实际需求调整向量维度和数据格式,进一步探索 Vearch 的更多功能。