73 Commits

Author SHA1 Message Date
SimFG
3b7b7e7e99
fix: use the different msg type for the OperatePrivilegeV2 api (#40192)
- issue: #40178

Signed-off-by: SimFG <bang.fu@zilliz.com>
2025-02-27 14:43:59 +08:00
ThreadDao
5f71bb2a41
test: Split gosdk cases into different packages and add rg cases (#39694)
issue: #33419

---------

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-02-26 16:27:59 +08:00
congqixia
ce480c3f57
enhance: [GoSDK] Use pkg v2 module path (#40134)
Related to #39095
Previous PR #39990 update pkg module path using "/v2" package name, this
PR update milvusclient go sdk dependency for this update

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-02-25 10:33:56 +08:00
Patrick Weizhi Xu
04fff74a56
feat: introduce Text data type (#39874)
issue: https://github.com/milvus-io/milvus/issues/39818

This PR mimics Varchar data type, allows insert, search, query, delete,
full-text search and others.
Functionalities related to filter expressions are disabled temporarily. 

Storage changes for Text data type will be in the following PRs.

Signed-off-by: Patrick Weizhi Xu <weizhi.xu@zilliz.com>
2025-02-19 11:04:51 +08:00
Cai Yudong
ad72fd968b
enhance: add some missing code for Int8Vector (#39742)
Issue: #38666

Signed-off-by: CaiYudong <yudong.cai@zilliz.com>
2025-02-18 16:20:52 +08:00
Bingyi Sun
b59555057d
feat: support json index (#36750)
https://github.com/milvus-io/milvus/issues/35528

This PR adds json index support for json and dynamic fields. Now you can
only do unary query like 'a["b"] > 1' using this index. We will support
more filter type later.

basic usage:
```
collection.create_index("json_field", {"index_type": "INVERTED",
    "params": {"json_cast_type": DataType.STRING, "json_path":
'json_field["a"]["b"]'}})
```

There are some limits to use this index:
1. If a record does not have the json path you specify, it will be
ignored and there will not be an error.
2. If a value of the json path fails to be cast to the type you specify,
it will be ignored and there will not be an error.
3. A specific json path can have only one json index.
4. If you try to create more than one json indexes for one json field,
sdk(pymilvus<=2.4.7) may return immediately because of internal
implementation. This will be fixed in a later version.

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-02-15 14:06:15 +08:00
ThreadDao
7c3228512c
test: fix hybrid search limit case (#39884)
issue: #33419

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-02-14 15:12:13 +08:00
Zhen Ye
034575396f
fix: streaming consume checkpoint is always nil and limit resource of ci (#39781)
issue: #38399

- fix the nil pointer bug
- limit the resource usage for streaming e2e
- enhance the go test
- fix: rootcoord block when graceful stop

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2025-02-13 19:18:14 +08:00
ThreadDao
0e7e4af8a5
test: add go-sdk cases for hybrid search (#39579)
issue: #33419

---------

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-02-13 10:34:47 +08:00
ThreadDao
28c2558f5d
test: supplementary json expr go-sdk test cases (#39824)
issue: #33419

---------

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-02-12 19:04:47 +08:00
congqixia
95f3a248b3
enhance: [GoSDK] Add range & sparse ann param (#39751)
Related to #38846

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-02-12 14:54:46 +08:00
ThreadDao
c1b4bae130
test: add go-sdk cases for collection related APIs (#39537)
issue: 33419
- add cases for: RenameCollection, CollectionProperties,
GetCollectionStats, fast collection

---------

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-02-11 13:54:45 +08:00
zhuwenxing
ee87e4d0b6
test: add go-sdk cases for full text search (#39570)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
Signed-off-by: zhuwenxing <wxzhuyeah@gmail.com>
2025-02-10 10:32:45 +08:00
Cai Yudong
f32830e016
feat: Support restful & go sdk for Int8Vector (#39278)
Issue: #38666

Signed-off-by: Cai Yudong <yudong.cai@zilliz.com>
2025-01-24 17:07:07 +08:00
congqixia
05b6ea1351
enhance: Refine error msg for schema & index checking (#39533)
The error message was malformated or missing some meta info, say field
name. This PR recitfies some message format and add field name in error
message when type param check fails.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-01-24 09:57:06 +08:00
ThreadDao
e02fb41db8
test: add go-sdk cases for database properties (#39484)
issue: #33419 
- Add test cases for database properties
- Fixed typo AlterDatabaseProperies to AlterDatabaseProperties
- Rename UsingDatabase to UseDatabase
- Rename ListDatabases to ListDatabase

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-01-23 14:29:16 +08:00
ThreadDao
461c376b46
test: add test cases for template param (#38867)
issue: #33419
- add case for Get
- add case for TemplateParam

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-01-10 09:38:58 +08:00
cai.zhang
ee9a2793da
fix: [skip-e2e] Remove valid expressions from invalid expressions (#39012)
issue: #39014

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-01-06 18:06:54 +08:00
foxspy
af08b5b311
enhance: Update Knowhere version (#38942)
Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-01-03 14:28:53 +08:00
Zhen Ye
80fefadf27
enhance: TestDeleteComplexExpr may failure because of timeout (#38935)
issue: #33419

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2025-01-03 12:25:26 +08:00
Patrick Weizhi Xu
d3a5282eaa
enhance: add param for tuning max VARCHAR length and restore limit to 65535 (#38884)
issue: #38882 

Signed-off-by: Patrick Weizhi Xu <weizhi.xu@zilliz.com>
(cherry picked from commit 8e740e004151dd2c11918aad2857c1c8d1bd98f5)
2025-01-02 14:42:53 +08:00
congqixia
19a5c31907
enhance: Bump golang/x/net to v0.33 fixing security alarm (#38850)
Related to https://github.com/milvus-io/milvus/security/dependabot/106

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-01-02 10:50:55 +08:00
ThreadDao
ba0c7b8fff
test: update cases for search params support and groupby issue fix (#38852)
issue: #38343 #33419
- update cases for WithSearchParam
- remove skip for groupby search issue
- update output query dynamic case for server changes

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-12-31 14:14:52 +08:00
congqixia
a882f341f4
enhance: [GoSDK] Add APIs for backup tool (#38791)
Related to #31291

This PR:

- Add Backup&Restore RBAC APIs
- Add GetPersistentSegmentInfo API
- Add GetServerVersion API
- Add flush task stats

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-12-27 14:20:51 +08:00
Xianhui Lin
90de37e60a
enhance: field stringtype maxlength raise to 1M (#38592)
enhance: field stringtype maxlength raise to 1M
issue: https://github.com/milvus-io/milvus/issues/37436

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2024-12-20 14:32:45 +08:00
congqixia
c39db11509
enhance: [GoSDK] Sync API names and add missing APIs (#38603)
Related to #31293

- Rename `UsingDatabase` to `UseDatabase`
- Uncomment default value methods
- Add missing RBAC APIs
- Add some resource group APIs

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-12-20 11:52:46 +08:00
XuanYang-cn
ca7ec23198
enhance: Use partitionID when delete by partitionKey (#38231)
When delete by partition_key, Milvus will generates L0 segments
globally. During L0 Compaction, those L0 segments will touch all
partitions collection wise. Due to the false-positive rate of segment
bloomfilters, L0 compactions will append false deltalogs to completed
irrelevant partitions, which causes *partition deletion amplification.

This PR uses partition_key to set targeted partitionID when producing
deleteMsgs into MsgStreams. This'll narrow down L0 segments scope to
partition level, and remove the false-positive influence
collection-wise.

However, due to DeleteMsg structure, we can only label one partition to
one deleteMsg, so this enhancement fails if user wants to delete over 2
partition_keys in one deletion.

See also: #34665

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2024-12-20 11:18:46 +08:00
Bingyi Sun
894c203f27
enhance: allow hyphen in partition name (#38494)
Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-12-18 15:04:45 +08:00
ThreadDao
8794ec966e
test: add go case for groupby search (#38411)
issue: #33419

---------

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-12-16 10:44:43 +08:00
congqixia
fe79babdb3
enhance: Bump golang/x/crypto for all packages (#38445)
Related to #38446
See also https://github.com/milvus-io/milvus/security/dependabot/103

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-12-13 19:12:42 +08:00
ThreadDao
59234a3350
test: add log level for go sdk test and update part cases (#38385)
- add log level for go sdk cases
- update cases for issue #33460 & #37853

---------

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-12-12 16:58:43 +08:00
Yinzuo Jiang
1ce609834a
feat: [GoSDK] fp32 <-> fp16/bf16 vector conversion (#37978)
Add the following methods for convenient fp32 vector <-> fp16/bf16
vector conversion

fp32 <-> fp16/bf16 vector conversion:

- `func (fv FloatVector) ToFloat16Vector() Float16Vector`
- `func (fv FloatVector) ToBFloat16Vector() BFloat16Vector`
- `func (fv Float16Vector) ToFloat32Vector() FloatVector`
- `func (fv BFloat16Vector) ToFloat32Vector() FloatVector`

`columnBasedDataOption`:

- `func (opt *columnBasedDataOption) WithFloat16VectorColumn(colName
string, dim int, data [][]float32) *columnBasedDataOption`
- `func (opt *columnBasedDataOption) WithBFloat16VectorColumn(colName
string, dim int, data [][]float32) *columnBasedDataOption`

`ColumnFloat16Vector`/`ColumnBFloat16Vector`:

- `func NewColumnFloat16VectorFromFp32Vector(fieldName string, dim int,
data [][]float32) *ColumnFloat16Vector`
- `func NewColumnBFloat16VectorFromFp32Vector(fieldName string, dim int,
data [][]float32) *ColumnBFloat16Vector`
- support []float32 or `entity.FloatVector` in
    - `func (c *ColumnFloat16Vector) AppendValue(i interface{}) error`
    - `func (c *ColumnFloat16Vector) AppendValue(i interface{}) error`

issue: #37448

Signed-off-by: Yinzuo Jiang <yinzuo.jiang@zilliz.com>
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-11-29 08:00:37 +08:00
ThreadDao
c5327ff150
test: add cases for gosdk v2 partial load (#37924)
issue: #33419

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-11-26 15:08:34 +08:00
congqixia
6b23e668b0
test: Update go_client version & update latest changes (#37793)
Related to #37768

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-26 10:26:40 +08:00
ThreadDao
bc131a911c
test: add cases for gosdk v2 load release (#37831)
issue: #33419

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-11-22 10:54:32 +08:00
smellthemoon
a654487995
fix: some error in restful (#37487)
#37370

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-11-13 17:12:39 +08:00
congqixia
83d2729f94
enhance: Generate milvusclient mockery with latest proto (#37567)
Related to #37558

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-11 14:28:30 +08:00
ThreadDao
f42869c0ce
test: remove case skip label (#37539)
[test] remove case skip label
issue: #33952

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-11-10 16:14:27 +08:00
congqixia
11f4fe0177
enhance: [GoSDK] move client pkg go files to sub one (#37492)
Related to #31293

Client source files under client pkg cannot be evaluate correctly by
codecov. This PR moves them to `milvusclient` sub-package to fix this
issue and follow go major version best practice.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-08 07:32:26 +08:00
congqixia
c83b93946e
enhance: [GoSDK] Add alter collection API & expose options (#37365)
Related to #31293

This PR:

- Add `AlterCollection` API for collection property modification
- Expose hidden or missing option methods

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-06 14:36:25 +08:00
foxspy
eaf86f7649
fix: optimize invalid datatype error msg (#37376)
issue: #37151

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-04 11:46:28 +08:00
congqixia
be71b98146
enhance: Fix case error msg after knowhere upgrade (#37339)
Previous PR: #37315

Error message updated after knowhere behavior change, this PR update
corresponding test error message.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-01 14:00:22 +08:00
cai.zhang
2ef6cbbf59
feat: The expression supports filling elements through templates (#37033)
issue: #36672

The expression supports filling elements through templates, which helps
to reduce the overhead of parsing the elements.

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-10-31 14:20:22 +08:00
foxspy
d7b2ffe5aa
enhance: add an unify vector index config checker (#36844)
issue: #34298

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-10-28 10:11:37 +08:00
Yinzuo Jiang
3628593d20
feat: Implement custom function module in milvus expr (#36560)
OSPP 2024 project:
https://summer-ospp.ac.cn/org/prodetail/247410235?list=org&navpage=org

Solutions:

- parser (planparserv2)
    - add CallExpr in planparserv2/Plan.g4
    - update parser_visitor and show_visitor
- grpc protobuf
    - add CallExpr in plan.proto
- execution (`core/src/exec`)
- add `CallExpr` `ValueExpr` and `ColumnExpr` (both logical and
physical) for function call and function parameters
- function factory (`core/src/exec/expression/function`)
    - create a global hashmap when starting milvus (see server.go)
- the global hashmap stores function signatures and their function
pointers, the CallExpr in execution engine can get the function pointer
by function signature.
- custom functions
    - empty(string)
    - starts_with(string, string)
- add cpp/go unittests and E2E tests

closes: #36559

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-10-25 15:25:30 +08:00
congqixia
e5948bd039
enhance: [GoSDK] Use variadic params for options (#36912)
Use variadic parameter function for options make client options easier
to use.

Related to #31293

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-10-16 19:33:23 +08:00
aoiasd
db34572c56
feat: support load and query with bm25 metric (#36071)
relate: https://github.com/milvus-io/milvus/issues/35853

---------

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2024-10-11 10:23:20 +08:00
ThreadDao
f068729a26
test: fix repeated random partition name (#35805)
/kind improvement

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-09-03 17:13:12 +08:00
ThreadDao
a90133cdf5
test: Optimize sparse vector case (#35661)
/kind improvement

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-08-26 14:54:57 +08:00
ThreadDao
570a8879e7
test: update gosdk case for valid empty sparse vector (#35621)
/kind improvement

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2024-08-22 10:54:56 +08:00