以下是使用 MilvusServiceClient 根据 id 查询数据的 Java 示例代码:

import io.milvus.client.*;
import java.util.*;

public class MilvusQueryById {

    public static void main(String[] args) throws InterruptedException, ConnectFailedException {
        String host = "127.0.0.1"; // Milvus 服务器的 IP 地址
        int port = 19530; // Milvus 服务器的端口号
        String collectionName = "example_collection"; // 要查询的集合名称
        long id = 1; // 要查询的向量的 id
        int topK = 10; // 查询结果中与查询向量最相似的前 K 个向量

        // 与 Milvus 服务器建立连接
        MilvusClient client = new MilvusGrpcClient(new ConnectParam.Builder().withHost(host).withPort(port).build());
        System.out.println("Connect to Milvus server successfully");

        // 加载要查询的集合
        CollectionMapping collectionMapping = CollectionMapping.create(collectionName, 128, MetricType.L2);
        client.createCollection(collectionMapping);
        System.out.println("Load collection successfully");

        // 根据 id 查询向量
        List<Long> idList = new ArrayList<>();
        idList.add(id);
        List<List<Float>> queryVectors = client.getVectorsByID(collectionName, idList);

        // 进行查询
        SearchResult searchResult = client.search(collectionName, queryVectors, topK, new SearchParam.Builder().build());
        List<List<SearchResult.QueryResult>> queryResultsList = searchResult.getQueryResultsList();
        List<SearchResult.QueryResult> queryResults = queryResultsList.get(0);

        // 输出查询结果
        System.out.println("Query result of vector with id " + id + ":");
        for (int i = 0; i < queryResults.size(); i++) {
            SearchResult.QueryResult queryResult = queryResults.get(i);
            long vectorId = queryResult.getId();
            float distance = queryResult.getDistance();
            System.out.println("Top " + (i+1) + " vector id: " + vectorId + ", distance: " + distance);
        }

        // 释放资源
        client.close();
        System.out.println("Release resources successfully");
    }

}

该示例代码中,首先使用 MilvusServiceClient 连接到 Milvus 服务器。然后创建一个 CollectionMapping 对象表示要查询的集合,并将其加载到 Milvus 服务器中。接着根据指定的 id 查询向量,并使用查询结果进行查询。最后输出查询结果,并释放资源

milvus 用MilvusServiceClient根据id查询数据java示例

原文地址: https://www.cveoy.top/t/topic/fsx9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录