Commit Graph
54 Commits
Author SHA1 Message Date
5def5ced4a enhance: enforce function-field binding principle for function DDL (#51360)
## What

Enforce a function–field binding principle for function DDL (add / drop
/ alter function on an existing collection), so a function and its
output field stay coupled and already-stored vectors can never be
silently invalidated by DDL.

BM25 and MinHash follow the strict binding: add/drop only via the
unified `add_function_field` / `drop_function_field`, output field
always coupled. **TextEmbedding is a temporary carve-out** — its legacy
`AddCollectionFunction` / `DropCollectionFunction` paths are retained,
so attach-over-existing-field and detach are still possible for it,
because `add_function_field` embedding backfill is not yet implemented.
It will be folded into the unified path in a follow-up. So the "always
coupled" invariant currently holds for BM25/MinHash, not TextEmbedding.

## Changes

- **AlterCollectionSchema invariant**: reject standalone add-function (a
function must be added together with its new output field), reject
detaching a function without dropping its output field, and reject
function cascade (a new function's input being another function's
output).
- **Legacy RPCs**: `AddCollectionFunction` / `DropCollectionFunction`
are rejected for BM25/MinHash (must use `add_function_field` /
`drop_function_field`) and retained only for TextEmbedding (see
carve-out). `AlterCollectionFunction` is kept and gains the whitelist
below. In the alter and legacy-add paths, function field IDs are always
re-derived from field names (never trusted from the request), so a
request cannot inject an unrelated field ID that a later
`drop_function_field` would delete.
- **alter_function whitelist**: only connection/runtime params may
change (TextEmbedding: `url`, `credential`, `timeout_ms`,
`max_client_batch_size`, `region`, `location`, `projectid`, `user`);
BM25/MinHash have no alterable params. Function identity (type, name,
input/output fields) and output-shaping params (`dim`, `model_name`,
`endpoint` — the TEI model identity, `normalize`, `truncate*`, prompts,
...) are immutable. Params are normalized (keys lowercased, duplicate
keys rejected) so a crafted duplicate key cannot bypass the diff.
- **drop_function_field**: allow any output-producing function (dropping
needs no backfill), removing the previous BM25/MinHash-only restriction.

## Not in scope / follow-up

- Extending `add_function_field` to TextEmbedding (post-creation add
would require backfilling every existing row through the external
embedding model) — deferred; folding the TextEmbedding legacy paths into
the unified binding follows this.
- MinHash input-field analyzer immutability lives on a different DDL
path (`AlterCollectionField`); tracked as a separate follow-up.

## Breaking changes

- `DropCollectionFunction` on a **MinHash** function (detach — remove
the function but keep its output field) is no longer supported; use
`drop_function_field` instead (drops the function together with its
output field). If a released version supported MinHash detach, migrate
any such call to `drop_function_field`.

issue: #51348

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-18 05:04:39 +08:00
wei liuandGitHub 4e1bf7a36c feat: define external snapshot API contracts (part1) (#50393)
issue: https://github.com/milvus-io/milvus/issues/44358

design doc:
docs/design-docs/design_docs/20260609-external-snapshot-export-restore.md

Part 1/3 of the external snapshot cross-bucket restore stack.

This PR defines the API contract and entry surfaces for external
snapshot export and restore:

- Adds the consolidated design document for cross-bucket external
snapshot restore.
- Adds public gRPC, REST, and Go SDK API surfaces for
RestoreExternalSnapshot and ExportSnapshot.
- Adds internal DataCoord proto plumbing and generated code needed by
later implementation PRs.
- Wires Proxy RBAC grouping and database interceptor behavior for the
new APIs.
- Keeps the request contract on a single external_spec field and keeps
db_name for namespace routing rather than permission scoping.

Validation copied from the commit:

- GOTOOLCHAIN=go1.25.10 go test -c -tags dynamic,test -gcflags="all=-N
-l" -ldflags="-r ${RPATH}" -o /tmp/datacoord-commit1.test
github.com/milvus-io/milvus/internal/datacoord
- cd client && GOTOOLCHAIN=go1.25.10 go test -c -o
/tmp/client-milvusclient-commit1.test ./milvusclient
- internal/proxy package compile was blocked locally by missing C++
header internal/core/output/include/segcore/search_result_export_c.h

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2026-07-01 16:32:29 +08:00
zhuwenxingandGitHub 14c4cf65fc enhance: add dynamic StructArray field APIs (#50276)
issue: #50235

### What problem does this PR solve?

This PR adds API support for dynamically adding StructArray fields to an
existing collection, aligned with the existing Python SDK API shape.

### What is changed?

- Add Go SDK `Client.AddCollectionStructField(...)` and
`NewAddCollectionStructFieldOption(...)`.
- Convert Go SDK StructArray field schema into
`AddCollectionStructFieldRequest`.
- Preserve StructArray parent `nullable` and `max_capacity` when
converting schemas and describing collections.
- Add REST v2 endpoint:
  - `POST /v2/vectordb/collections/struct_fields/add`
- Reject StructArray payloads from the ordinary REST v2 field endpoint:
  - `POST /v2/vectordb/collections/fields/add`
- Support REST v2 StructArray add payloads using both:
  - `dataType: "Array", elementDataType: "Struct"`
  - `dataType: "ArrayOfStruct"`
- Add Go SDK and REST v2 regression coverage.

### Verification

- `milvus-dev-cli go-ut local . -b master -t
internal/distributed/proxy/httpserver -k 'TestAddCollectionFieldSuite'
-f`
  - `ut-go-local-zhuwenxi-issue-50235-cbec6c2-26ef323b`
- `milvus-dev-cli build local . -b master -f`
  - `build-local-zhuwenxing-issue-50235-clea-cbec6c2`
- `milvus-dev-cli deploy create
build-local-zhuwenxing-issue-50235-clea-cbec6c2 --name
issue-50235-struct-add`
- `pytest -q
testcases/test_collection_operations.py::TestCollectionAddField::test_add_struct_array_field
--endpoint http://10.100.36.203:19530 --token root:Milvus --minio_host
10.100.36.198`
  - `2 passed`

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2026-06-12 15:30:21 +08:00
yanliang567andGitHub dc5b3d069a enhance: Add REST search aggregation support (#50472)
Related: #49046

## What changed
- Add REST v2 searchAggregation request parsing, validation, and proxy
conversion for search requests.
- Return aggregation buckets with top hits, metrics, optional recall
information, cost, and storage metadata.
- Reject searchAggregation on unsupported REST v1 / low-level search
paths and hybrid sub-search inputs.
- Add Go unit coverage and RESTful v2 e2e coverage for happy paths,
nested aggregations, metrics/order, filters, and validation failures.

## Verification
- /Users/yanliang.qiao/fork/.venv-py312/bin/python -m ruff check
tests/restful_client_v2/testcases/test_vector_operations.py
- /Users/yanliang.qiao/fork/.venv-py312/bin/python -m ruff format
--check tests/restful_client_v2/testcases/test_vector_operations.py
- /Users/yanliang.qiao/fork/.venv-py312/bin/python -m py_compile
tests/restful_client_v2/testcases/test_vector_operations.py
- /Users/yanliang.qiao/fork/.venv-py312/bin/python -m pytest
--collect-only
testcases/test_vector_operations.py::TestSearchAggregationVector -q
- git diff --check

Note: local Go unit test build is blocked by missing native Milvus
dependencies on this machine: rocksdb.pc and milvus_core.pc.

Signed-off-by: Yanliang Qiao <yanliang.qiao@zilliz.com>
2026-06-12 11:26:20 +08:00
sijie-ni-0214andGitHub dac62896c9 enhance: Return trace ID in REST responses (#49968)
issue: #49967

## What was changed

- Add `X-Milvus-Trace-Id` to REST responses for `/v1/vector/...` and
`/v2/vectordb/...` routes.
- Create a REST entry trace span before access logging so response
headers and REST logs use the same request trace ID.
- Keep the v2 wrapper from overwriting the entry trace ID when one
already exists.
- Add timeout and early-return coverage for the trace ID header.

## Verification

- `gofumpt -l internal/distributed/proxy/httpserver/handler_v2.go
internal/distributed/proxy/httpserver/traceid_test.go
internal/distributed/proxy/httpserver/utils.go
internal/distributed/proxy/httpserver/constant.go
internal/distributed/proxy/httpserver/timeout_middleware.go
internal/distributed/proxy/service.go`
- `git diff --check`
- `zsh -c 'source scripts/setenv.sh && go test -v -count=1 -tags
dynamic,test -gcflags="all=-N -l" -ldflags="-r
${MILVUS_WORK_DIR}/cmake_build/lib -r
${MILVUS_WORK_DIR}/internal/core/output/lib"
./internal/distributed/proxy/httpserver -run
"TestHTTPReturnWritesTraceIDHeader|TestHTTPReturnSkipsTraceIDHeaderWhenMissing|TestTraceIDHandlerFuncCreatesRequestTraceID|TestTraceIDHandlerFuncCoversV1AndV2RestRoutes|TestTraceIDHandlerFuncCreatesTraceIDWhenUnsampled|TestTraceIDHandlerFuncReturnsUniqueTraceID|TestTraceIDHandlerFuncCoversEarlyAbort|TestWrapperPostBadJSONReturnsTraceIDHeader|TestWrapperPostKeepsRequestTraceID|TestTimeoutMiddlewareReturnsTraceIDHeader"
-timeout 300s'`
- Manual curl verification against local standalone: REST response
header and REST access log trace IDs matched; 10 repeated search
requests returned 10 valid and unique 32-hex trace IDs.

## Note

Full `go test ./internal/distributed/proxy/httpserver` currently hits an
existing unrelated `TestSearchV2/search#09` assertion mismatch: expected
`Mismatch type uint8`, actual contains `Mismatch type []uint8 ...`.

Signed-off-by: sijie-ni-0214 <sijie.ni@zilliz.com>
2026-05-29 06:40:14 +08:00
8275d10583 feat: Import 2PC — CommitImport/AbortImport with auto_commit and WAL broadcast (#48524)
## Summary

Implements Two-Phase Commit (2PC) for Import in primary/secondary
replication clusters. Data stays invisible (`is_importing=true`) until
an explicit commit signal is delivered via WAL, ensuring primary and
secondary clusters reach the same visible state at the same logical
position.

- **New proto**: `CommitImport=44`, `RollbackImport=45` WAL message
types; `Uncommitted=8`, `Committing=9` `ImportJobState` values;
`CommitImport`, `AbortImport`, `HandleCommitVchannel` RPCs on DataCoord;
`committed_vchannels` + `auto_commit` fields on `ImportJob`
- **WAL broadcast**: DataCoord broadcasts
`CommitImportMessage`/`RollbackImportMessage` to all vchannels via DDL
broadcast; CDC replicates to secondary clusters verbatim
- **DDL ack callbacks**: `commitImportV2AckCallback` CAS
`Uncommitted→Committing`; `rollbackImportV2AckCallback` CAS `*→Failed` +
segment drop
- **WAL flusher**: `wal_flusher.dispatch()` intercepts
`CommitImportMessage` per-vchannel, calls `wbMgr.FlushChannel` +
`DataCoord.HandleCommitVchannel`; no-op handler for
`RollbackImportMessage`
- **ImportChecker**: new `Uncommitted` case (auto-commits when
`auto_commit=true`); new `Committing` case (transitions to `Completed`
when all vchannels confirmed)
- **auto_commit option**: default `true` (backward compatible); `false`
lets replication platform control commit timing
- **RESTful API**: `POST /v2/vectordb/jobs/import/commit` and `POST
/v2/vectordb/jobs/import/abort`; `GetImportProgress` surfaces
`Uncommitted` and `Committing` states

**Out of scope**: `commit_timestamp` propagation (handled in companion
PR)

## Test Plan

- [ ] Unit tests for `IsAutoCommit` helper
- [ ] Unit tests for `HandleCommitVchannel` idempotency
- [ ] Unit tests for `CommitImport`/`AbortImport` RPC handlers (state
validation, mutex, broadcast)
- [ ] Unit tests for DDL ack callbacks (CAS races for commit/abort)
- [ ] Unit tests for `ImportChecker` `Uncommitted`/`Committing` cases
- [ ] Unit tests for WAL flusher dispatch (CommitImport/RollbackImport
cases)
- [ ] Unit tests for RESTful commit/abort handlers (valid jobId, invalid
jobId error path)
- [ ] `GetImportProgress` surfaces `Uncommitted` and `Committing` states
- [ ] E2E: non-replication cluster with `auto_commit=true` (default)
behaves identically to pre-2PC

issue: #48525
design doc: https://github.com/milvus-io/milvus-design-docs/pull/29

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: Yihao Dai <yihao.dai@zilliz.com>
Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 13:57:27 -07:00
congqixiaandGitHub 7311d450a0 enhance: bump Go dependencies to v3 modules (#49485)
Related to #49398

Bump Go module references from pkg/v2 and milvus-proto/go-api/v2 to
pkg/v3 and milvus-proto/go-api/v3 so the client tracks the Milvus 3.x
release line.

This prepares the repository for the upcoming 3.x.y release by aligning
imports, module dependencies, and proto API references with the new
major-version module paths.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2026-05-01 10:30:13 +08:00
wei liuandGitHub 4e4cf55d82 enhance: Support external collection in REST v2 (#49452)
issue: #45881

design doc:
https://github.com/milvus-io/milvus-design-docs/blob/main/design_docs/20260105-external_table.md

## What

Support external collection operations in REST v2.

- Add schema-level external source/spec handling for REST v2 create and
describe collection.
- Add REST v2 external collection refresh, describe-job, and list-job
routes.
- Reject top-level external config and quick-create external collection
requests.
- Reject add-field requests that try to add external field mappings.
- Support listing all refresh jobs when collection name is empty.

## Tests

- `go build -tags dynamic,test github.com/milvus-io/milvus/internal/...
github.com/milvus-io/milvus/pkg/...`
- `go test -tags dynamic,test -gcflags="all=-N -l" -ldflags="-r
${RPATH}" github.com/milvus-io/milvus/internal/proxy -run
'TestProxy_ListRefreshExternalCollectionJobs_(ListAll|ByCollection)'
-count=1 -v`

Known local limitation:
- Full `internal/datacoord` package coverage run is blocked by an
existing compaction test failure:
`TestCompactionTriggerManagerSuite/TestGetExpectedSegmentSize/all_DISKANN`
expects `209715200` but gets `104857600`.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2026-04-30 19:35:50 +08:00
b908a2dda8 enhance: inject zap logger and gin context into hook plugin (#49097)
## Summary

- Inject Milvus zap logger into hook plugin via `SetZapLogger` type
assertion after plugin load, enabling the plugin to use Milvus's
centralized logging
- Inject connection manager into hook plugin via `SetClientInfoProvider`
type assertion, allowing the plugin to look up SDK info (sdk_type,
sdk_version, host) for non-Connect requests by connection identifier
- Pass `*gin.Context` directly via `GinParamsKey` instead of
`ginCtx.Keys` map, enabling the hook plugin to access `ClientIP()`,
`FullPath()`, `GetHeader()` and other gin context methods for RESTful
requests

---------

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 18:49:46 +08:00
GaoandGitHub 6734d3d14a enhance: user specified warmup for restful api (#47824)
issue: https://github.com/milvus-io/milvus/issues/47371

---------

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2026-03-02 11:05:19 +08:00
sijie-ni-0214andGitHub a4836f9c08 feat: support truncate collection restful api v2 (#47032)
issue: https://github.com/milvus-io/milvus/issues/47031

---------

Signed-off-by: sijie-ni-0214 <sijie.ni@zilliz.com>
2026-01-15 15:59:34 +08:00
junjiejiangjjjandGitHub 102481e53f feat: Support add_function/alter_function/drop_function (#44895)
https://github.com/milvus-io/milvus/issues/44053

Signed-off-by: junjie.jiang <junjie.jiang@zilliz.com>
2025-11-13 20:53:39 +08:00
2ea8d85c2f feat: restful support run analyzer(#44803) (#44805)
related: #44803

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-10-14 14:41:59 +08:00
GaoandGitHub 3cc59a0d69 enhance: add storage usage for delete/upsert/restful (#44512)
#44212 

Also, record metrics only when storageUsageTracking is enabled.
Use MB for scanned_remote counter and scanned_total counter metrics to
avoid overflow.

---------

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2025-09-30 00:31:06 +08:00
XiaofanandGitHub bd31b32167 fix: hybridsearch should support offset param in restful api (#43586)
Add support of offset param for reqeustful. api and refine some constant
usage related #43556

Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
2025-07-28 22:15:36 +08:00
congqixiaandGitHub 5dd1f841d2 enhance: [AddField] Add Restful API for addfield (#42972)
Related to #39718

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-06-26 18:46:41 +08:00
cai.zhangandGitHub 5566a85bcc enhance: Add proxy task queue metrics (#42156)
issue: #42155

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-06-04 11:26:32 +08:00
Bingyi SunandGitHub e9c0756dc6 enhance: return index params for restful api (#42016)
issue: #42015

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-05-26 11:50:28 +08:00
foxspyandGitHub 1c794be119 enhance: Output index version information in the DescribeIndex interface (#41847)
issue: https://github.com/milvus-io/milvus/issues/41431

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-05-15 14:36:22 +08:00
congqixiaandGitHub 486141cc12 enhance: [Restful] Make default timeout configurable (#41211)
The restful API default timeout was hard-coded. This PR make this
timeout value configurable via paramtable.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-04-10 16:14:28 +08:00
aoiasdandGitHub e5c12421f7 enhance: remain raw token for audit log (#40637)
Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-03-18 18:02:20 +08:00
cai.zhangandGitHub 123b6588b6 feat: Support get segment binlogs info with new interface GetSegmentsInfo (#40464)
issue: #40341

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-03-16 21:04:07 +08:00
congqixiaandGitHub cb7f2fa6fd enhance: Use v2 package name for pkg module (#39990)
Related to #39095

https://go.dev/doc/modules/version-numbers

Update pkg version according to golang dep version convention

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-02-22 23:15:58 +08:00
d6699b5f50 enhance: support return configable properties when describing index(#39951) (#40042)
related: #39951

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-02-21 19:07:53 +08:00
38cfd38b31 enhance: return topks when search in restful v2 (#39812)
if nq>2, restful will flatten all the res. If one nq res has duplicate
pks, the length of this slice will be less then topk. This pr
will attach topks in the output.

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2025-02-17 13:52:14 +08:00
513b489c85 enhance: add some apis in Restful (#39105)
- drop/alter database properties
- simplify the structure of search_params
- flush
- compact
- get_compact_status
issue: #38709

---------

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2025-01-20 18:15:22 +08:00
GaoandGitHub 9c4a81c80c enhance: add recalls response for restful api (#39408)
issue: #37899

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2025-01-20 10:55:04 +08:00
wei liuandGitHub 5a4bafccc6 enhance: Add resource group api on Restful (#38885)
issue: #38739
enable to manage resource group by Restful
- CreateResourceGroup
- DescribeResourceGroup
- UpdateResourceGroup
- ListResourceGroup
- DropResourceGroup
- TransferReplica

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-01-08 19:40:57 +08:00
6b105837b4 enhance: add some apis in Restful (#38733)
add some apis in Restful #38709 

- alter/drop collection properties
- alter/drop index properties
- alter collection field properties
- refresh load

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-12-31 11:28:51 +08:00
e359725530 enhance: support db request in Restful api (#38140)
#38077

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-12-03 20:04:41 +08:00
sthuangandGitHub 19572f5b06 enhance: RBAC new grant/revoke privilege (#37785)
issue: https://github.com/milvus-io/milvus/issues/37031
also fix issues: https://github.com/milvus-io/milvus/issues/37843,
https://github.com/milvus-io/milvus/issues/37842,
https://github.com/milvus-io/milvus/issues/37887

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2024-11-21 22:20:34 +08:00
yihao.daiandGitHub b3fc53015d fix: Avoid memory copy in RESTful search and query (#37674)
Custom `jsonRender` that encodes JSON data directly into the response
stream, it uses less memory since it does not buffer the entire JSON
structure before sending it, unlike `c.JSON` in `HTTPReturn`, which
serializes the JSON fully in memory before writing it to the response.
Benchmark testing shows that, using the custom render incurs no
performance loss and reduces memory consumption by nearly 50%.

issue: https://github.com/milvus-io/milvus/issues/37671

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-11-19 17:24:31 +08:00
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
2d29dcd30c enhance:refine group_strict_size parameter(#37482) (#37483)
related: #37482

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2024-11-12 09:56:28 +08:00
sthuangandGitHub 70605cf5b3 enhance: Support custom privilege group for RBAC (#37087)
issue: #37031

---------

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2024-11-09 08:44:28 +08:00
8669153ff2 fix: not add isClusteringKey when describe collection (#36930)
#36928

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-10-18 12:57:26 +08:00
Buqian ZhengandGitHub 16b533cbf0 feat: Restful support for BM25 function (#36713)
issue: https://github.com/milvus-io/milvus/issues/35853

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2024-10-13 17:41:21 +08:00
5e1c392243 enhance: support null and default value in restful api (#35825)
#31728

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-10-11 21:23:20 +08:00
yihao.daiandGitHub 0751c508de enhance: Support new RESTful URL to describe import job (#36753)
Support the new RESTful URL for retrieving/describing import progress:
`/v2/vectordb/jobs/import/describe`.
Deprecate the old URL: `/v2/vectordb/jobs/import/get_progress`.

issue: https://github.com/milvus-io/milvus/issues/36752

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-10-11 16:07:21 +08:00
a25dc98794 enhance: support group_size and hybridsearch+groupby on httpv2 side(#36386) (#36461)
related: #36386

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2024-09-30 11:09:16 +08:00
aoiasdandGitHub 0cf225fa75 enhance: access log support restful api (#33155)
relate: https://github.com/milvus-io/milvus/issues/31823

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2024-05-31 11:13:44 +08:00
SimFGandGitHub 8963615b33 enhance: add the cost response for the rest api (#32620)
issue: https://github.com/milvus-io/milvus/issues/30436

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-05-08 11:53:29 +08:00
PowderLiandGitHub a0a23d0666 fix: [restful]use default search parameter nq: 0 (#32355)
issue: #32225 #31978 #32360

1. v1 can only accept one vector, but v2 accept list of vectors #32225
2. cannot get dbName from AliasReq #31978
3. enhance: [restful v2]support config DB-Name in the http header #32360

---------

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-04-18 14:41:20 +08:00
PowderLiandGitHub ee56ae7299 fix: [CHERRY-PICK] [restful v2] add hybrid_search (#31395)
search issue: #30688

2.4 pr: #31344

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-03-21 09:59:08 +08:00
PowderLiandGitHub afa4193fc2 fix: [restful v2] create collection & describe collection (#31269)
1. complete the output of describe collection #31180
2. add a new parameter `params` for create collection #31181 #31149
3. create index according to indexConfig while create collection #31199
4. autoID: false while create a collection quickly, take upsert into
consideration
5. polish error information while search without annsField #31010


fix: [restful v1] insert / upsert with default partitionName JIRA-4952

---------

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-03-14 23:27:03 +08:00
PowderLiandGitHub 58d7b9f902 fix: [restful v2] search & advanced_search API (#31113)
issue: #30688
former pr:  #30946

1. param `vector` is required #31012
2. param `annsField` is optional, for multiply vector fields #31010
3. support BinaryVector, Float16Vector, BFloat16Vector #31013
4. replace vector with data, to align with pymilvus milvus_client #31093
5. create collection quickly, to align with pymilvus milvus_client
#31149

---------

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-03-11 15:57:01 +08:00
PowderLiandGitHub 19911a411f fix: [restful v2] bug list (#30740)
bug list
1. element data type is needed while create a collection with an array
field #30638
2. spelling mistake about metricsType #30643
3. new collection enable dynamic field / auto id as user defined #30665
4. convert rowCount from string to int #30661
5. try it's best to create a new collection #30652
6. int64 percious #20415
7. insert into collection which has multi vector fields #30674
8. cannot rename a collection to other database #30700
9. update the request body of "indexes/create" #30769
10. got [] while list indexes of a collection which has no index #30722
11. restful need encode password before call
CreateCredential/UpdateCredential #30730
12. some parameters missed the required label #30737
13.define the field to be or not to be a partition key while create a
collection #30797

enhance: support opentelemetry
enhance: support dataType: Float16Vector & BFloat16Vector #22837
enhance: describe collection will show the field is partition key or not
#30789

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-02-27 16:48:56 +08:00
PowderLiandGitHub 1b87bcd60e feat: restful support new features (#30485)
feat: restful support new features

1. search with groupingField #25324
2. hybrid search #25639

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-02-07 17:16:47 +08:00
PowderLiandGitHub 5cf9bb236e enhance: restful support import jobs (#30343)
issue: #28521 #29732

include
1. list collection's import jobs
2. create a new import job
3. get the progress of an import job

fix:
1. mix the order of dbName & collectionName #29728
2. trace log keep the same as v1
3. support traceID
4. azure precheck, blob name cannot end with / #29703

---------

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-01-31 17:57:04 +08:00
PowderLiandGitHub 6abbab12fa feat: restful phase two (#29728)
issue: #29732

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-01-28 16:03:01 +08:00