ZBLOG

milvus golang创建标量索引

下面是在milvus golang中创建标量索引的基本步骤:

  1. 首先,需要导入milvus库
import (
    "github.com/milvus-io/milvus-sdk-go/milvus"
)
  1. 建立与Milvus服务器的连接
client, err := milvus.NewClient(milvus.Address("localhost:19530"))
if err != nil {
    log.Fatalf("failed to create client: %v", err)
}
defer client.Close()
  1. 创建一个collection
schema := []*milvus.FieldSchema{
    milvus.NewFieldSchema("field_name", milvus.DataTypeFloatVector, 64),
}
status, err := client.CreateTable(context.Background(), "collection_name", schema, milvus.DefaultIndexParam())
if err != nil {
    log.Fatalf("failed to create table: %v", err)
}
if !status.Ok() {
    log.Fatalf("failed to create table: %s", status.GetMessage())
}
  1. 插入数据
data := []*milvus.RowRecord{
    milvus.NewRowRecord([]float32{1.0, 2.0, 3.0}),
    milvus.NewRowRecord([]float32{4.0, 5.0, 6.0}),
}
ids, status, err := client.Insert(context.Background(), "collection_name", "", data)
if err != nil {
    log.Fatalf("failed to insert data: %v", err)
}
if !status.Ok() {
    log.Fatalf("failed to insert data: %s", status.GetMessage())
}
  1. 创建标量索引
indexParam := milvus.NewIndexParam(milvus.IndexTypeIDMap)
indexParam.Set("nlist", "16384")
status, err := client.CreateIndex(context.Background(), "collection_name", "field_name", indexParam)
if err != nil {
    log.Fatalf("failed to create index: %v", err)
}
if !status.Ok() {
    log.Fatalf("failed to create index: %s", status.GetMessage())
}
  1. 查询数据
queryVec := milvus.NewRowRecord([]float32{1.5, 2.5, 3.5})
searchParam := milvus.SearchParam{
    Dsl: `{"bool": {"must": [{"vector": {"field_name": {"topk": 10, "query": [1.0, 2.0, 3.0]}}}], "boost": 1}}`,
}
res, err := client.Search(context.Background(), "collection_name", []milvus.RowRecord{*queryVec}, searchParam)
if err != nil {
    log.Fatalf("failed to search data: %v", err)
}
for i, id := range res[0].Ids {
    fmt.Printf("Rank %d, ID %d, Distance %f\n", i+1, id, res[0].Distances[i])
}

这些步骤可以创建一个标量索引并查询它。当然,还有其他可用的参数和方法可供使用,具体取决于你要执行的任务。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=597

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?