1

image

发布时间:2020-10-16

版本兼容

升级必看 ⚠️

1. 调整了 partition tag 的支持字符集:

  • 不支持使用英文字母、数字、"_"、"$" 以外的字符命名 partition tag。
  • partition tag 的首字母不支持使用英文字母或下划线以外的字符。

2. 服务端配置文件结构调整

  • server_config.yaml 更名为 milvus.yaml,
  • 配置参数兼容 a.b.c: value 的展平格式。

3. 调整了二值型向量支持索引名称:

  • IVF_FLAT 变更为 BIN_IVF_FLAT
  • FLAT变更为 BIN_FLAT

4. 移除原有的 CreateCollection() 方法。新增的 CreateCollection() 方法删除了原有的 index_file_size 参数,新增 segment_row_limit 参数用于设置单个数据段文件大小的上限和下限。单个数据段文件的值域范围为 [ 1 × segment_row_limit, 2 × segment_row_limit)。

5. 移除原有的 Search() 方法。新增的 Search() 方法新增 MetricType 参数用于指定距离计算方式。

6. 移除原有的 GetIndexInfo() 方法。改用 GetCollectionInfo() 获取相关数据。

7. v0.11.0 Milvus 暂不支持 Mishards 分布式方案。

8. Python SDK 和 Java SDK 会在操作失败时抛出异常。

9. RESTful API 支持分页读取实体。详见 collections/{collection_name}/entities (GET)

新增功能

1. 标量字段过滤

支持在插入向量数据时携带与该向量相关的标量数据。

支持在查询时利用标量数据过滤查询结果:标量数据支持 TermQuery 和 RangeQuery 两种匹配模式。后者支持以下四种运算符:

  • 大于:gt
  • 大于等于:gte
  • 小于:lt
  • 小于等于:lte
  • 在标量匹配和向量查询之间支持 MUST, MUST_NOTSHOULD 三种逻辑组合。
  • 支持在查询结果中返回结果向量相关的标量字段。
  • 支持在标量数据上创建索引加速结构化数据的过滤。

2. 支持在查询时指定距离计算方式

  • 如果查询时指定的 MetricType 与建索引时设置的 MetricType 一致,Milvus 使用索引查询;
  • 如果指定的 MetricType 与建索引时设置的 MetricType 不一致,Milvus 会进行暴搜。

主要改进

1. 升级第三方依赖 oatpp 升级第三方依赖 oatpp 至更为稳定的 v1.1.0 版本。

2. 重写 SQLite 后端操作移除第三方依赖 sqlite_orm。

3. 重组 WAL 目录结构新版 WAL 的目录结构按照 collection 存储相关数据。

4. 元数据快照支持基于元数据快照的搜索:进行数据插入、删除操作后 Milvus 会自动为元数据产生包含版本信息的快照并缓存至内存中,查询请求可以使用缓存的对应版本中进行。

5. 分离索引和原始数据IVFFLAT 和 HNSW 两种索引的 indexfile 文件不再包含原始向量数据,改用向量的偏移量以减小硬盘占用。

API 变更

删除 API

  • GetIndexInfo

升级攻略请点此收藏:Milvus 迁移升级攻略

完整 release note 请见:发版说明

欢迎加入 Milvus 社区

http://github.com/milvus-io/milvus 源码

http://milvus.io 官网

http://milvusio.slack.com Slack 社区

http://zhihu.com/org/zilliz-11/columns 知乎

http://zilliz.blog.csdn.net CSDN 博客

http://space.bilibili.com/478166626 Bilibili


Zilliz
154 声望829 粉丝

Vector database for Enterprise-grade AI