v0.5.3

发布时间:2019-11-14

版本兼容

Milvus 版本 pymilvus 版本 Java SDK 版本
0.5.3 0.2.5 0.3.0

主要改进

  • Milvus server 到客户端的结果集数据传输性能增强了至少一倍,主要通过对 gRPC 的以下更新来实现:

    • 优化了 messages;
    • 更改了生成代码的 API 接口;
    • 删除了 compression。
  • Python SDK

    • 不同的数组分开存储搜索结果的 ids 和 distances 以减少接口读取结果集的响应时间。
    • 新增了一种新的获取结果集里面某个目标向量的方式:id = results.id_array[i][j], distance = results.distance_array[i][j]
    • 新增了一种数组遍历方式,在 nqtop_k 很大的情况下处理时间大大缩短。

      1. >> for id_list, dis_list in zip(results.id_array, results.distance_array):
      2. >> for id, dis in zip(id_list, dis_list):
      3. >> print("id={}, distance={}".format(id, dis))
  • Java SDK

    • 在连接到 Milvus server 时,增加了 keepalive 和 idleTimeout 等设置选项。
    • 用户现在可以通过 getResultIdsListgetResultDistancesList 分别获取搜索结果的 ids 和 distances,分别获取性能更优。也能通过 getQueryResultsList 获取同时包含 ids 和 distances 的对象 QueryResult
  • C++ SDK

    • 将其更改为动态库。
    • 新增了 README 文件。
  • 提升了 IVF_SQ8H 的搜索性能。