From f6c61d421d15577120e1b8627193df49c703a159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Wed, 12 Apr 2023 17:39:23 +0800 Subject: [PATCH] milvus --- bin/main.go | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/bin/main.go b/bin/main.go index 53dd719..8d47e80 100644 --- a/bin/main.go +++ b/bin/main.go @@ -193,27 +193,57 @@ func main() { } // 用向量查询相似图片 - sp, _ := entity.NewIndexFlatSearchParam() + sp, _ := entity.NewIndexIvfFlatSearchParam(64) vectors := []entity.Vector{ entity.FloatVector(similar.Embedding), } resultx, err := milvusConnection.Client.Search( context.Background(), // ctx collection_name, // CollectionName - []string{}, // PartitionNames + nil, // PartitionNames "", // expr []string{"id", "article_id"}, // OutputFields vectors, // vectors "embedding", // vectorField entity.L2, // entity.MetricType 10, // topK - sp, + sp, // searchParam ) if err != nil { log.Println(err) return } - println(resultx) + // 输出结果 + for _, item := range resultx { + fmt.Println(item.Scores) + fmt.Println(item.IDs) + fmt.Println(item.ResultCount) + fmt.Println(item.Fields) + } + + //func printResult(sRet *client.SearchResult) { + // randoms := make([]float64, 0, sRet.ResultCount) + // scores := make([]float32, 0, sRet.ResultCount) + // + // var randCol *entity.ColumnDouble + // for _, field := range sRet.Fields { + // if field.Name() == randomCol { + // c, ok := field.(*entity.ColumnDouble) + // if ok { + // randCol = c + // } + // } + // } + // for i := 0; i < sRet.ResultCount; i++ { + // val, err := randCol.ValueByIdx(i) + // if err != nil { + // log.Fatal(err) + // } + // randoms = append(randoms, val) + // scores = append(scores, sRet.Scores[i]) + // } + // fmt.Printf("\trandoms: %v, scores: %v\n", randoms, scores) + //} }) // 获取图片信息列表(分页)