发布时间: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_NOT
和SHOULD
三种逻辑组合。 - 支持在查询结果中返回结果向量相关的标量字段。
- 支持在标量数据上创建索引加速结构化数据的过滤。
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://milvusio.slack.com Slack 社区
http://zhihu.com/org/zilliz-11/columns 知乎
http://zilliz.blog.csdn.net CSDN 博客
http://space.bilibili.com/478166626 Bilibili
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。