1. 程式人生 > 實用技巧 >Milvus 新版本 v0.11.0 重磅釋出!新增標量欄位過濾功能,使用更靈活!

Milvus 新版本 v0.11.0 重磅釋出!新增標量欄位過濾功能,使用更靈活!

釋出時間: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 變更

  • RESTful API

  • Python

  • Java

  • C++

刪除 API

  • GetIndexInfo

點選左下角的閱讀原文檢視完整 release note!

升級攻略請點此收藏:Milvus 遷移升級攻略

歡迎加入 Milvus 社群

github.com/milvus-io/milvus 原始碼

milvus.io 官網

milvusio.slack.com Slack 社群

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

zilliz.blog.csdn.netCSDN部落格

space.bilibili.com/478166626Bilibili