3453 Commits

Author SHA1 Message Date
Chun Han
26a024625d
feat: support search by on json field and dynamic field(#43124) (#43203)
related: #43124

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-09-09 21:51:56 +08:00
dependabot[bot]
083f4e0371
build(deps): bump deepdiff from 6.7.1 to 8.6.1 in /tests/python_client (#44226)
Bumps [deepdiff](https://github.com/seperman/deepdiff) from 6.7.1 to
8.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/seperman/deepdiff/releases">deepdiff's
releases</a>.</em></p>
<blockquote>
<h2>8.5.0</h2>
<ul>
<li>Updating deprecated pydantic calls</li>
<li>Switching to pyproject.toml</li>
<li>Fix for moving nested tables when using iterable_compare_func.
by</li>
<li>Fix recursion depth limit when hashing numpy.datetime64</li>
<li>Moving from legacy setuptools use to pyproject.toml</li>
</ul>
<h2>8.4.1</h2>
<ul>
<li>pytz is not required.</li>
</ul>
<h2>8.4.0</h2>
<ul>
<li>Adding BaseOperatorPlus base class for custom operators</li>
<li>default_timezone can be passed now to set your default timezone to
something other than UTC.</li>
<li>New summarization algorithm that produces valid json</li>
<li>Better type hint support</li>
</ul>
<h2>8.1.1</h2>
<p>Adding Python 3.13 to setup.py</p>
<h2>8.1.0</h2>
<ul>
<li>Removing deprecated lines from setup.py</li>
<li>Added <code>prefix</code> option to <code>pretty()</code></li>
<li>Fixes hashing of numpy boolean values.</li>
<li>Fixes <strong>slots</strong> comparison when the attribute doesn't
exist.</li>
<li>Relaxing orderly-set reqs</li>
<li>Added Python 3.13 support</li>
<li>Only lower if clean_key is instance of str <a
href="https://redirect.github.com/seperman/deepdiff/issues/504">#504</a></li>
<li>Fixes issue where the key deep_distance is not returned when both
compared items are equal <a
href="https://redirect.github.com/seperman/deepdiff/issues/510">#510</a></li>
<li>Fixes exclude_paths fails to work in certain cases</li>
<li>exclude_paths fails to work <a
href="https://redirect.github.com/seperman/deepdiff/issues/509">#509</a></li>
<li>Fixes to_json() method chokes on standard json.dumps() kwargs such
as sort_keys</li>
<li>to_dict() method chokes on standard json.dumps() kwargs <a
href="https://redirect.github.com/seperman/deepdiff/issues/490">#490</a></li>
<li>Fixes accessing the affected_root_keys property on the diff object
returned by DeepDiff fails when one of the dicts is empty</li>
<li>Fixes accessing the affected_root_keys property on the diff object
returned by DeepDiff fails when one of the dicts is empty <a
href="https://redirect.github.com/seperman/deepdiff/issues/508">#508</a></li>
</ul>
<p>8.0.1 - extra import of numpy is removed</p>
<h2>8.0.0</h2>
<p>With the introduction of <code>threshold_to_diff_deeper</code>, the
values returned are different than in previous versions of DeepDiff. You
can still get the older values by setting
<code>threshold_to_diff_deeper=0</code>. However to signify that enough
has changed in this release that the users need to update the parameters
passed to DeepDiff, we will be doing a major version update.</p>
<ul>
<li><input type="checkbox" checked="" disabled="" />
<code>use_enum_value=True</code> makes it so when diffing enum, we use
the enum's value. It makes it so comparing an enum to a string or any
other value is not reported as a type change.</li>
<li><input type="checkbox" checked="" disabled="" />
<code>threshold_to_diff_deeper=float</code> is a number between 0 and 1.
When comparing dictionaries that have a small intersection of keys, we
will report the dictionary as a <code>new_value</code> instead of
reporting individual keys changed. If you set it to zero, you get the
same results as DeepDiff 7.0.1 and earlier, which means this feature is
disabled. The new default is 0.33 which means if less that one third of
keys between dictionaries intersect, report it as a new object.</li>
<li><input type="checkbox" checked="" disabled="" /> Deprecated
<code>ordered-set</code> and switched to <code>orderly-set</code>. The
<code>ordered-set</code> package was not being maintained anymore and
starting Python 3.6, there were better options for sets that ordered. I
forked one of the new implementations, modified it, and published it as
<code>orderly-set</code>.</li>
<li><input type="checkbox" checked="" disabled="" /> Added
<code>use_log_scale:bool</code> and
<code>log_scale_similarity_threshold:float</code>. They can be used to
ignore small changes in numbers by comparing their differences in
logarithmic space. This is different than ignoring the difference based
on significant digits.</li>
<li><input type="checkbox" checked="" disabled="" /> json serialization
of reversed lists.</li>
<li><input type="checkbox" checked="" disabled="" /> Fix for iterable
moved items when <code>iterable_compare_func</code> is used.</li>
<li><input type="checkbox" checked="" disabled="" /> Pandas and Polars
support.</li>
</ul>
<h2>7.0.1</h2>
<ul>
<li><input type="checkbox" checked="" disabled="" /> When verbose=2,
return <code>new_path</code> when the <code>path</code> and
<code>new_path</code> are different (for example when ignore_order=True
and the index of items have changed).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/seperman/deepdiff/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=deepdiff&package-manager=pip&previous-version=6.7.1&new-version=8.6.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/milvus-io/milvus/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 11:45:55 +08:00
9Eurydice9
bfd42c9f9e
test: migrate test_query V2 cases for milvus client (#44179)
issue: #44090
Migrate test_query cases from TestcaseBase to TestMilvusClientV2Base

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-09-04 13:07:53 +08:00
Spade A
03c46e686f
fix: ngram index for json rejects type of non-varchar field (#44157)
issue: https://github.com/milvus-io/milvus/issues/43934

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-09-03 16:45:54 +08:00
Spade A
7cb15ef141
feat: impl StructArray -- optimize vector array serialization (#44035)
issue: https://github.com/milvus-io/milvus/issues/42148

Optimized from
Go VectorArray → VectorArray Proto → Binary → C++ VectorArray Proto →
C++ VectorArray local impl → Memory
to
Go VectorArray → Arrow ListArray  → Memory

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-09-03 16:39:53 +08:00
zhuwenxing
4f1ea8d4cb
test: add cohere, voyageai and siliconflow reranker testcases and some lints (#44181)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-09-03 15:51:54 +08:00
Bingyi Sun
0c0630cc38
feat: support dropping index without releasing collection (#42941)
issue: #42942

This pr includes the following changes:
1. Added checks for index checker in querycoord to generate drop index
tasks
2. Added drop index interface to querynode
3. To avoid search failure after dropping the index, the querynode
allows the use of lazy mode (warmup=disable) to load raw data even when
indexes contain raw data.
4. In segcore, loading the index no longer deletes raw data; instead, it
evicts it.
5. In expr, the index is pinned to prevent concurrent errors.

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-02 16:17:52 +08:00
XuanYang-cn
005fb467f7
test: Increase PyMilvus version to 2.7.0rc25 for master branch (#44168)
Automated daily bump from pymilvus master branch. Updates
tests/python_client/requirements.txt.

Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com>
2025-09-02 15:29:52 +08:00
nico
198cc62039
test: update nightly cases (#44167)
Signed-off-by: nico <cheng.yuan@zilliz.com>
2025-09-02 14:21:52 +08:00
yanliang567
a7087b0023
test: Add more ngram tests, including mmap and utf8 characters (#44169)
related issue: #43989

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-09-02 14:17:52 +08:00
qixuan
e126df2330
test: add field case about reranker and analyzer (#44095)
related issue: #42126

---------

Signed-off-by: qixuan <673771573@qq.com>
2025-09-01 17:27:52 +08:00
9Eurydice9
5092097461
test: migrate test_query V2 cases for milvus client (#44117)
issue: #44090
Migrate test_query cases from TestcaseBase to TestMilvusClientV2Base

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-09-01 08:55:52 +08:00
congqixia
4376876f90
enhance: Bump milvus & proto version to v2.6.1 (#44133)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-29 17:29:51 +08:00
zhuwenxing
69aefd7ea2
test: remove import case xfail mark after fix (#44086)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-29 16:37:51 +08:00
XuanYang-cn
16cbd26154
test: Increase PyMilvus version to 2.7.0rc24 for master branch (#44126)
Automated daily bump from pymilvus master branch. Updates
tests/python_client/requirements.txt.

Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com>
2025-08-29 15:05:51 +08:00
XuanYang-cn
4bc86cb335
test: Increase PyMilvus version to 2.7.0rc21 for master branch (#44100)
Automated daily bump from pymilvus master branch. Updates
tests/python_client/requirements.txt.

Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com>
2025-08-28 18:05:51 +08:00
congqixia
ba88cfa7a9
enhance: Add unified GRPC latency metrics in inteceptor (#44089)
Related to #43966

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-28 09:53:51 +08:00
9Eurydice9
d70607c342
test: migrate test_query V2 cases for milvus client (#44091)
issue: #44090
Migrate test_query cases from TestcaseBase to TestMilvusClientV2Base

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-28 09:13:50 +08:00
Spade A
8456f824be
feat: impl StructArray -- miscellaneous staffs for struct array (#43960)
Ref https://github.com/milvus-io/milvus/issues/42148

1. enable storage v2
2. implement some missing staffs
3. fix some bugs and add tests

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-08-26 21:35:53 +08:00
yanliang567
f301692900
test: Add ngram tests and expression tests (#44029)
related issue: https://github.com/milvus-io/milvus/issues/43989

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-08-26 14:51:51 +08:00
junjiejiangjjj
f1ce84996d
enhance: refactor model service configuration and environment variables (#44036)
- Add enable configuration for all model service providers
- Migrate environment variables from MILVUSAI_* to MILVUS_* prefix with
backward compatibility
- Unify model service enable/disable logic using configuration
- Add tests for environment variable parsing with fallback support

#35856

Signed-off-by: junjie.jiang <junjie.jiang@zilliz.com>
2025-08-26 10:49:52 +08:00
zhuwenxing
a2ac49f867
test: fix dependabot alerts (#44037)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-26 09:05:51 +08:00
9Eurydice9
d6b78193cb
test: add collection V2 cases for milvus client (#44021)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-23 21:35:47 +08:00
junjiejiangjjj
f3d7e47227
feat: Supports more rerankers (#43270)
https://github.com/milvus-io/milvus/issues/35856

Signed-off-by: junjiejiangjjj <junjie.jiang@zilliz.com>
2025-08-22 17:29:47 +08:00
9Eurydice9
59d333819c
test: add collection V2 cases for milvus client (#44008)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-22 13:13:47 +08:00
yanliang567
ec6681b018
test: add tests for ngram and fix invalid collection name mag (#43990)
related issue: #43989

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-08-21 18:45:47 +08:00
nico
551a4a400b
test: update sdk version (#43929)
Signed-off-by: nico <cheng.yuan@zilliz.com>
2025-08-21 16:47:47 +08:00
nico
043f5cbecc
test: update nightly cases (#43884)
Signed-off-by: nico <cheng.yuan@zilliz.com>
2025-08-21 16:45:54 +08:00
Tianx
26c5c779bf
feat: temporarily disable Timestamptz collection creation (#43935)
issue: https://github.com/milvus-io/milvus/issues/27467

Signed-off-by: xtx <xtianx@smail.nju.edu.cn>
2025-08-21 11:17:46 +08:00
9Eurydice9
eec58c3bb5
test: add collection V2 cases for milvus client (#43919)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-21 10:35:45 +08:00
Spade A
d6a428e880
feat: impl StructArray -- support create index for vector array (embedding list) and search on it (#43726)
Ref https://github.com/milvus-io/milvus/issues/42148

This PR supports create index for vector array (now, only for
`DataType.FLOAT_VECTOR`) and search on it.
The index type supported in this PR is `EMB_LIST_HNSW` and the metric
type is `MAX_SIM` only.

The way to use it:
```python
milvus_client = MilvusClient("xxx:19530")
schema = milvus_client.create_schema(enable_dynamic_field=True, auto_id=True)
...
struct_schema = milvus_client.create_struct_array_field_schema("struct_array_field")
...
struct_schema.add_field("struct_float_vec", DataType.ARRAY_OF_VECTOR, element_type=DataType.FLOAT_VECTOR, dim=128, max_capacity=1000)
...
schema.add_struct_array_field(struct_schema)
index_params = milvus_client.prepare_index_params()
index_params.add_index(field_name="struct_float_vec", index_type="EMB_LIST_HNSW", metric_type="MAX_SIM", index_params={"nlist": 128})
...
milvus_client.create_index(COLLECTION_NAME, schema=schema, index_params=index_params)
```

Note: This PR uses `Lims` to convey offsets of the vector array to
knowhere where vectors of multiple vector arrays are concatenated and we
need offsets to specify which vectors belong to which vector array.

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
Signed-off-by: SpadeA-Tang <tangchenjie1210@gmail.com>
2025-08-20 10:27:46 +08:00
zhuwenxing
71dc135289
test: add rerank function testcases in go client (#43891)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-19 14:57:48 +08:00
wei liu
d3c95eaa77
enhance: Support partial field updates with upsert API (#42877)
issue: #29735
Implement partial field update functionality for upsert operations,
supporting scalar, vector, and dynamic JSON fields without requiring all
collection fields.

Changes:
- Add queryPreExecute to retrieve existing records before upsert
- Implement UpdateFieldData function for merging data
- Add IDsChecker utility for efficient primary key lookups
- Fix JSON data creation in tests using proper map marshaling
- Add test cases for partial updates of different field types

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-08-19 11:15:45 +08:00
congqixia
e75fddcc15
fix: Invalidate proxy cache for create alias op (#43854)
Related to #43853

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-18 12:01:45 +08:00
Xianhui Lin
b98b3b16a3
feat:add BatchDescribeCollection interface (#43786)
feat:add BatchDescribeCollection interface
issue: https://github.com/milvus-io/milvus/issues/43781

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-08-18 01:23:45 +08:00
9Eurydice9
03295bb351
test: add collection V2 cases for milvus client (#43892)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-16 17:43:43 +08:00
ThreadDao
d1e4243e0b
test: new cases for goclient nullable and default value (#43879)
issue: #33419

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-08-16 17:23:44 +08:00
zhuwenxing
f97be52719
test: remove skip for fixed case (#43877)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-15 18:37:44 +08:00
zhuwenxing
1e31ad345b
test:add text embedding function testcases in go client (#43875)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-15 11:37:43 +08:00
sthuang
c102fa8b0b
enhance: [StorageV2] zero copy for packed writer record batch (#43779)
The Out of Memory (OOM) error occurs because a handler retains the
entire ImportRecordBatch in memory. Consequently, even when child arrays
within the batch are flushed, the memory for the complete batch is not
released. We temporarily fixed by deep copying record batch in #43724.

The proposed fix is to split the RecordBatch into smaller sub-batches by
column group. These sub-batches will be transferred via CGO, then
reassembled before being written to storage using the Storage V2 API.
Thus we can achieve zero-copy and only transferring references in CGO.

related: #43310

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2025-08-15 10:11:44 +08:00
9Eurydice9
4663b9a243
test: add create collection V2 cases for milvus client (#43841)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-15 08:59:44 +08:00
Feilong Hou
9f9ed14ddb
test: migrated all test cases in test_alias.py to test_milvus_client_alias.py (#43834)
Issue: #43793 
Finished migrate all test cases in test_alias.py. Locally tested and
verified.

---------

Signed-off-by: Eric Hou <eric.hou@zilliz.com>
Co-authored-by: Eric Hou <eric.hou@zilliz.com>
2025-08-13 19:23:43 +08:00
zhuwenxing
f3ace500ee
test: update binlog import testcase for storage v2 (#43839)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-13 10:31:42 +08:00
zhuwenxing
3c73b5f1a1
test: add testcases for import enhancement in 2.6 (#43827)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-08-12 10:35:42 +08:00
9Eurydice9
c2aad4f5de
test: add create collection V2 cases for milvus client (#43805)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base

@yanliang567

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-11 10:17:41 +08:00
Feilong Hou
1a712aa13b
test: migrate test case from test_alias to test_milvus_client_alias (#43802)
issue: [#43793](https://github.com/milvus-io/milvus/issues/43793)

- migrate test_alias_create_operation_default() to
test_milvus_client_alias_create_operation_default()

Co-authored-by: Eric Hou <eric.hou@zilliz.com>
2025-08-08 18:29:41 +08:00
ThreadDao
b3cff64bff
test: new search iterator go client cases (#43771)
issue: #33419

Signed-off-by: ThreadDao <yufen.zong@zilliz.com>
2025-08-07 18:55:40 +08:00
XuanYang-cn
335fb6452e
test: Upgrade pymilvus version to rc169 (#43746)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-08-06 18:01:40 +08:00
9Eurydice9
8578f8e13e
test: add create collection V2 cases for milvus client (#43684)
issue: #43590
Migrate collection test cases from TestcaseBase to
TestMilvusClientV2Base
+25 cases in test_milvus_client_collection.py
-27 cases in test_collection.py

@yanliang567

---------

Signed-off-by: Orpheus Wang <orpheus.wang@zilliz.com>
2025-08-06 16:17:40 +08:00
congqixia
c8789513eb
enhance: Bump milvus & proto version to v2.6.0 (#43704)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-05 15:27:39 +08:00