@zilliz/milvus2-sdk-node 2.6.11 → 2.6.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +815 -41
- package/dist/milvus/HttpClient.d.ts +10 -10
- package/dist/milvus/MilvusClient.js +6 -3
- package/dist/milvus/MilvusClient.js.map +1 -1
- package/dist/milvus/bulkwriter/BulkWriter.d.ts +35 -0
- package/dist/milvus/bulkwriter/BulkWriter.js +315 -0
- package/dist/milvus/bulkwriter/BulkWriter.js.map +1 -0
- package/dist/milvus/bulkwriter/ColumnBuffer.d.ts +18 -0
- package/dist/milvus/bulkwriter/ColumnBuffer.js +131 -0
- package/dist/milvus/bulkwriter/ColumnBuffer.js.map +1 -0
- package/dist/milvus/bulkwriter/JsonFormatter.d.ts +5 -0
- package/dist/milvus/bulkwriter/JsonFormatter.js +213 -0
- package/dist/milvus/bulkwriter/JsonFormatter.js.map +1 -0
- package/dist/milvus/bulkwriter/LocalStorage.d.ts +4 -0
- package/dist/milvus/bulkwriter/LocalStorage.js +21 -0
- package/dist/milvus/bulkwriter/LocalStorage.js.map +1 -0
- package/dist/milvus/bulkwriter/ParquetFormatter.d.ts +5 -0
- package/dist/milvus/bulkwriter/ParquetFormatter.js +326 -0
- package/dist/milvus/bulkwriter/ParquetFormatter.js.map +1 -0
- package/dist/milvus/bulkwriter/Types.d.ts +27 -0
- package/dist/milvus/bulkwriter/Types.js +3 -0
- package/dist/milvus/bulkwriter/Types.js.map +1 -0
- package/dist/milvus/bulkwriter/index.d.ts +6 -0
- package/dist/milvus/bulkwriter/index.js +14 -0
- package/dist/milvus/bulkwriter/index.js.map +1 -0
- package/dist/milvus/const/error.d.ts +1 -0
- package/dist/milvus/const/error.js +2 -1
- package/dist/milvus/const/error.js.map +1 -1
- package/dist/milvus/const/milvus.d.ts +3 -1
- package/dist/milvus/const/milvus.js +2 -0
- package/dist/milvus/const/milvus.js.map +1 -1
- package/dist/milvus/grpc/BaseClient.d.ts +7 -1
- package/dist/milvus/grpc/BaseClient.js +17 -2
- package/dist/milvus/grpc/BaseClient.js.map +1 -1
- package/dist/milvus/grpc/Collection.d.ts +52 -3
- package/dist/milvus/grpc/Collection.js +70 -2
- package/dist/milvus/grpc/Collection.js.map +1 -1
- package/dist/milvus/grpc/Data.d.ts +96 -4
- package/dist/milvus/grpc/Data.js +139 -13
- package/dist/milvus/grpc/Data.js.map +1 -1
- package/dist/milvus/grpc/GrpcClient.d.ts +19 -3
- package/dist/milvus/grpc/GrpcClient.js +168 -10
- package/dist/milvus/grpc/GrpcClient.js.map +1 -1
- package/dist/milvus/grpc/MilvusIndex.d.ts +22 -0
- package/dist/milvus/grpc/MilvusIndex.js +28 -0
- package/dist/milvus/grpc/MilvusIndex.js.map +1 -1
- package/dist/milvus/http/Alias.d.ts +1 -1
- package/dist/milvus/http/Collection.d.ts +1 -1
- package/dist/milvus/http/Database.d.ts +1 -1
- package/dist/milvus/http/Import.d.ts +1 -1
- package/dist/milvus/http/MilvusIndex.d.ts +1 -1
- package/dist/milvus/http/Partition.d.ts +1 -1
- package/dist/milvus/http/Role.d.ts +1 -1
- package/dist/milvus/http/User.d.ts +1 -1
- package/dist/milvus/http/Vector.d.ts +1 -1
- package/dist/milvus/index.d.ts +1 -0
- package/dist/milvus/index.js +2 -0
- package/dist/milvus/index.js.map +1 -1
- package/dist/milvus/types/Client.d.ts +8 -3
- package/dist/milvus/types/Collection.d.ts +21 -1
- package/dist/milvus/types/GlobalCluster.d.ts +23 -0
- package/dist/milvus/types/GlobalCluster.js +12 -0
- package/dist/milvus/types/GlobalCluster.js.map +1 -0
- package/dist/milvus/types/Resource.d.ts +8 -2
- package/dist/milvus/types/Search.d.ts +42 -0
- package/dist/milvus/types/Search.js +7 -0
- package/dist/milvus/types/Search.js.map +1 -1
- package/dist/milvus/types/Segments.d.ts +33 -1
- package/dist/milvus/types/index.d.ts +1 -0
- package/dist/milvus/types/index.js +1 -0
- package/dist/milvus/types/index.js.map +1 -1
- package/dist/milvus/utils/Format.js +47 -39
- package/dist/milvus/utils/Format.js.map +1 -1
- package/dist/milvus/utils/Function.d.ts +14 -1
- package/dist/milvus/utils/Function.js +51 -22
- package/dist/milvus/utils/Function.js.map +1 -1
- package/dist/milvus/utils/GlobalTopology.d.ts +56 -0
- package/dist/milvus/utils/GlobalTopology.js +215 -0
- package/dist/milvus/utils/GlobalTopology.js.map +1 -0
- package/dist/milvus/utils/Grpc.js +3 -2
- package/dist/milvus/utils/Grpc.js.map +1 -1
- package/dist/milvus/utils/Schema.d.ts +1 -1
- package/dist/milvus/utils/Schema.js +4 -4
- package/dist/milvus/utils/Schema.js.map +1 -1
- package/dist/milvus/utils/Search.d.ts +54 -1
- package/dist/milvus/utils/Search.js +50 -4
- package/dist/milvus/utils/Search.js.map +1 -1
- package/dist/milvus/utils/index.d.ts +1 -0
- package/dist/milvus/utils/index.js +1 -0
- package/dist/milvus/utils/index.js.map +1 -1
- package/dist/sdk.json +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ClusterCapability, ClusterInfo, GlobalTopology } from '../types/GlobalCluster';
|
|
2
|
+
export { ClusterCapability, ClusterInfo, GlobalTopology };
|
|
3
|
+
export declare const GLOBAL_CLUSTER_IDENTIFIER = "global-cluster";
|
|
4
|
+
export declare const DEFAULT_REFRESH_INTERVAL = 300000;
|
|
5
|
+
/**
|
|
6
|
+
* Check if a ClusterInfo is the primary (writable) cluster.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isPrimaryCluster(cluster: ClusterInfo): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Get the primary cluster from a topology.
|
|
11
|
+
* @throws Error if no primary cluster is found.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getPrimaryCluster(topology: GlobalTopology): ClusterInfo;
|
|
14
|
+
/**
|
|
15
|
+
* Check if the URI points to a global cluster endpoint.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isGlobalEndpoint(uri: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Fetch the global cluster topology from the REST API.
|
|
20
|
+
*
|
|
21
|
+
* @param globalEndpoint - The global cluster endpoint URL
|
|
22
|
+
* @param token - Authentication token
|
|
23
|
+
* @returns GlobalTopology object containing cluster information
|
|
24
|
+
* @throws Error if topology cannot be fetched after retries
|
|
25
|
+
*/
|
|
26
|
+
export declare function fetchTopology(globalEndpoint: string, token: string): Promise<GlobalTopology>;
|
|
27
|
+
/**
|
|
28
|
+
* Background refresher that periodically fetches the global cluster topology.
|
|
29
|
+
*/
|
|
30
|
+
export declare class TopologyRefresher {
|
|
31
|
+
private globalEndpoint;
|
|
32
|
+
private token;
|
|
33
|
+
private topology;
|
|
34
|
+
private refreshInterval;
|
|
35
|
+
private onTopologyChange?;
|
|
36
|
+
private intervalId;
|
|
37
|
+
private refreshing;
|
|
38
|
+
constructor(options: {
|
|
39
|
+
globalEndpoint: string;
|
|
40
|
+
token: string;
|
|
41
|
+
topology: GlobalTopology;
|
|
42
|
+
refreshInterval?: number;
|
|
43
|
+
onTopologyChange?: (topology: GlobalTopology) => void;
|
|
44
|
+
});
|
|
45
|
+
/** Start the background refresh interval. */
|
|
46
|
+
start(): void;
|
|
47
|
+
/** Stop the background refresh interval. */
|
|
48
|
+
stop(): void;
|
|
49
|
+
/** Check if the refresher is running. */
|
|
50
|
+
isRunning(): boolean;
|
|
51
|
+
/** Get the current topology. */
|
|
52
|
+
getTopology(): GlobalTopology;
|
|
53
|
+
/** Trigger an immediate topology refresh (debounced). */
|
|
54
|
+
triggerRefresh(): void;
|
|
55
|
+
private tryRefresh;
|
|
56
|
+
}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TopologyRefresher = exports.fetchTopology = exports.isGlobalEndpoint = exports.getPrimaryCluster = exports.isPrimaryCluster = exports.DEFAULT_REFRESH_INTERVAL = exports.GLOBAL_CLUSTER_IDENTIFIER = exports.ClusterCapability = void 0;
|
|
13
|
+
const logger_1 = require("./logger");
|
|
14
|
+
const GlobalCluster_1 = require("../types/GlobalCluster");
|
|
15
|
+
Object.defineProperty(exports, "ClusterCapability", { enumerable: true, get: function () { return GlobalCluster_1.ClusterCapability; } });
|
|
16
|
+
// Identifier used in URIs to detect global cluster endpoints
|
|
17
|
+
exports.GLOBAL_CLUSTER_IDENTIFIER = 'global-cluster';
|
|
18
|
+
// Retry constants for topology fetch
|
|
19
|
+
const MAX_RETRIES = 3;
|
|
20
|
+
const BASE_DELAY = 1000; // ms
|
|
21
|
+
const MAX_DELAY = 10000; // ms
|
|
22
|
+
const REQUEST_TIMEOUT = 10000; // ms
|
|
23
|
+
// Default refresh interval for topology refresher
|
|
24
|
+
exports.DEFAULT_REFRESH_INTERVAL = 300000; // 5 minutes in ms
|
|
25
|
+
/**
|
|
26
|
+
* Check if a ClusterInfo is the primary (writable) cluster.
|
|
27
|
+
*/
|
|
28
|
+
function isPrimaryCluster(cluster) {
|
|
29
|
+
return (cluster.capability & GlobalCluster_1.ClusterCapability.WRITABLE) !== 0;
|
|
30
|
+
}
|
|
31
|
+
exports.isPrimaryCluster = isPrimaryCluster;
|
|
32
|
+
/**
|
|
33
|
+
* Get the primary cluster from a topology.
|
|
34
|
+
* @throws Error if no primary cluster is found.
|
|
35
|
+
*/
|
|
36
|
+
function getPrimaryCluster(topology) {
|
|
37
|
+
const primary = topology.clusters.find(isPrimaryCluster);
|
|
38
|
+
if (!primary) {
|
|
39
|
+
throw new Error('No primary cluster found in topology');
|
|
40
|
+
}
|
|
41
|
+
return primary;
|
|
42
|
+
}
|
|
43
|
+
exports.getPrimaryCluster = getPrimaryCluster;
|
|
44
|
+
/**
|
|
45
|
+
* Check if the URI points to a global cluster endpoint.
|
|
46
|
+
*/
|
|
47
|
+
function isGlobalEndpoint(uri) {
|
|
48
|
+
if (!uri)
|
|
49
|
+
return false;
|
|
50
|
+
return uri.toLowerCase().includes(exports.GLOBAL_CLUSTER_IDENTIFIER);
|
|
51
|
+
}
|
|
52
|
+
exports.isGlobalEndpoint = isGlobalEndpoint;
|
|
53
|
+
/**
|
|
54
|
+
* Parse the topology response from the REST API.
|
|
55
|
+
*/
|
|
56
|
+
function parseTopologyResponse(data) {
|
|
57
|
+
return {
|
|
58
|
+
version: parseInt(data.version, 10),
|
|
59
|
+
clusters: data.clusters.map(c => ({
|
|
60
|
+
clusterId: c.clusterId,
|
|
61
|
+
endpoint: c.endpoint,
|
|
62
|
+
capability: c.capability,
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Fetch the global cluster topology from the REST API.
|
|
68
|
+
*
|
|
69
|
+
* @param globalEndpoint - The global cluster endpoint URL
|
|
70
|
+
* @param token - Authentication token
|
|
71
|
+
* @returns GlobalTopology object containing cluster information
|
|
72
|
+
* @throws Error if topology cannot be fetched after retries
|
|
73
|
+
*/
|
|
74
|
+
function fetchTopology(globalEndpoint, token) {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
// Build the topology URL
|
|
78
|
+
let endpoint = globalEndpoint.replace(/\/+$/, '');
|
|
79
|
+
if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {
|
|
80
|
+
endpoint = `https://${endpoint}`;
|
|
81
|
+
}
|
|
82
|
+
const url = `${endpoint}/${exports.GLOBAL_CLUSTER_IDENTIFIER}/topology`;
|
|
83
|
+
const headers = {
|
|
84
|
+
Authorization: `Bearer ${token}`,
|
|
85
|
+
};
|
|
86
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m Fetching topology from ${url}`);
|
|
87
|
+
let lastError = null;
|
|
88
|
+
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
|
|
89
|
+
try {
|
|
90
|
+
const controller = new AbortController();
|
|
91
|
+
const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
|
|
92
|
+
const response = yield fetch(url, {
|
|
93
|
+
headers,
|
|
94
|
+
signal: controller.signal,
|
|
95
|
+
});
|
|
96
|
+
clearTimeout(timeoutId);
|
|
97
|
+
if (!response.ok) {
|
|
98
|
+
const text = yield response.text();
|
|
99
|
+
const err = new Error(`Topology request failed with status ${response.status}: ${text}`);
|
|
100
|
+
// Only retry on 5xx server errors; 4xx are permanent (auth, bad request, etc.)
|
|
101
|
+
if (response.status >= 400 && response.status < 500) {
|
|
102
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m Topology fetch failed with ${response.status} (not retryable)`);
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
throw Object.assign(err, { retryable: true });
|
|
106
|
+
}
|
|
107
|
+
const result = yield response.json();
|
|
108
|
+
if (result.code !== undefined && result.code !== 0) {
|
|
109
|
+
// API-level error, don't retry
|
|
110
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m Topology API error code=${result.code}: ${result.message}`);
|
|
111
|
+
throw new Error(result.message || 'Unknown API error');
|
|
112
|
+
}
|
|
113
|
+
const topology = parseTopologyResponse(result.data);
|
|
114
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m Topology fetched: version=${topology.version}, clusters=${topology.clusters.length}, primary=${((_a = topology.clusters.find(c => isPrimaryCluster(c))) === null || _a === void 0 ? void 0 : _a.endpoint) || 'none'}`);
|
|
115
|
+
return topology;
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
// Only retry network errors, timeouts, and 5xx errors
|
|
119
|
+
if (!e.retryable && e.name !== 'AbortError' && !((_b = e.message) === null || _b === void 0 ? void 0 : _b.includes('fetch failed'))) {
|
|
120
|
+
throw e;
|
|
121
|
+
}
|
|
122
|
+
lastError = e;
|
|
123
|
+
if (attempt < MAX_RETRIES - 1) {
|
|
124
|
+
const delay = Math.min(BASE_DELAY * Math.pow(2, attempt), MAX_DELAY);
|
|
125
|
+
const jitter = delay * 0.1 * Math.random();
|
|
126
|
+
logger_1.logger.warn(`Topology fetch attempt ${attempt + 1} failed: ${e.message}. Retrying in ${(delay + jitter).toFixed(0)}ms`);
|
|
127
|
+
yield new Promise(resolve => setTimeout(resolve, delay + jitter));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
throw new Error(`Failed to fetch global topology after ${MAX_RETRIES} attempts: ${lastError === null || lastError === void 0 ? void 0 : lastError.message}`);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
exports.fetchTopology = fetchTopology;
|
|
135
|
+
/**
|
|
136
|
+
* Background refresher that periodically fetches the global cluster topology.
|
|
137
|
+
*/
|
|
138
|
+
class TopologyRefresher {
|
|
139
|
+
constructor(options) {
|
|
140
|
+
var _a;
|
|
141
|
+
this.intervalId = null;
|
|
142
|
+
this.refreshing = false;
|
|
143
|
+
this.globalEndpoint = options.globalEndpoint;
|
|
144
|
+
this.token = options.token;
|
|
145
|
+
this.topology = options.topology;
|
|
146
|
+
this.refreshInterval =
|
|
147
|
+
(_a = options.refreshInterval) !== null && _a !== void 0 ? _a : exports.DEFAULT_REFRESH_INTERVAL;
|
|
148
|
+
this.onTopologyChange = options.onTopologyChange;
|
|
149
|
+
}
|
|
150
|
+
/** Start the background refresh interval. */
|
|
151
|
+
start() {
|
|
152
|
+
if (this.intervalId !== null)
|
|
153
|
+
return;
|
|
154
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m TopologyRefresher started, interval=${this.refreshInterval}ms`);
|
|
155
|
+
this.intervalId = setInterval(() => this.tryRefresh(), this.refreshInterval);
|
|
156
|
+
// Allow the Node.js process to exit even if the interval is still running
|
|
157
|
+
if (this.intervalId && typeof this.intervalId === 'object' && 'unref' in this.intervalId) {
|
|
158
|
+
this.intervalId.unref();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/** Stop the background refresh interval. */
|
|
162
|
+
stop() {
|
|
163
|
+
if (this.intervalId !== null) {
|
|
164
|
+
clearInterval(this.intervalId);
|
|
165
|
+
this.intervalId = null;
|
|
166
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m TopologyRefresher stopped`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/** Check if the refresher is running. */
|
|
170
|
+
isRunning() {
|
|
171
|
+
return this.intervalId !== null;
|
|
172
|
+
}
|
|
173
|
+
/** Get the current topology. */
|
|
174
|
+
getTopology() {
|
|
175
|
+
return this.topology;
|
|
176
|
+
}
|
|
177
|
+
/** Trigger an immediate topology refresh (debounced). */
|
|
178
|
+
triggerRefresh() {
|
|
179
|
+
if (this.refreshing) {
|
|
180
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m Topology refresh already in progress, skipping`);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
logger_1.logger.debug(`\x1b[36m[Global]\x1b[0m Triggering immediate topology refresh`);
|
|
184
|
+
this.refreshing = true;
|
|
185
|
+
this.tryRefresh().finally(() => {
|
|
186
|
+
this.refreshing = false;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
tryRefresh() {
|
|
190
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
try {
|
|
192
|
+
const newTopology = yield fetchTopology(this.globalEndpoint, this.token);
|
|
193
|
+
if (newTopology.version > this.topology.version) {
|
|
194
|
+
const oldVersion = this.topology.version;
|
|
195
|
+
this.topology = newTopology;
|
|
196
|
+
logger_1.logger.info(`Topology updated: version ${oldVersion} -> ${newTopology.version}`);
|
|
197
|
+
if (this.onTopologyChange) {
|
|
198
|
+
try {
|
|
199
|
+
this.onTopologyChange(newTopology);
|
|
200
|
+
}
|
|
201
|
+
catch (_a) {
|
|
202
|
+
logger_1.logger.warn('Topology change callback failed');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
catch (_b) {
|
|
208
|
+
logger_1.logger.warn('Topology refresh failed');
|
|
209
|
+
// Keep using cached topology, will retry next interval
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
exports.TopologyRefresher = TopologyRefresher;
|
|
215
|
+
//# sourceMappingURL=GlobalTopology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalTopology.js","sourceRoot":"","sources":["../../../milvus/utils/GlobalTopology.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,9 @@ const getGRPCService = (proto, options) => {
|
|
|
25
25
|
const service = proto.serviceName
|
|
26
26
|
.split('.')
|
|
27
27
|
.reduce((a, b) => a[b], grpcObj);
|
|
28
|
-
// Check that the service object is valid.
|
|
29
|
-
|
|
28
|
+
// Check that the service object is a valid gRPC service client constructor.
|
|
29
|
+
// Avoid checking class name (e.g., 'ServiceClientImpl') as minifiers rename it.
|
|
30
|
+
if (typeof service !== 'function' || !service.service) {
|
|
30
31
|
throw new Error(`Unable to load service: ${proto.serviceName}`);
|
|
31
32
|
}
|
|
32
33
|
// Return the service client constructor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grpc.js","sourceRoot":"","sources":["../../../milvus/utils/Grpc.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAuD;AACvD,2CAQuB;AACvB,wBAKW;AACX,4CAAuE;AAKvE,oCAAgD;AAChD,8DAAqC;AACrC,kEAAmD;AAOnD;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAC5B,KAAsB,EACtB,OAAgB,EACU,EAAE;IAC5B,uBAAuB;IACvB,MAAM,iBAAiB,GAAG,IAAA,uBAAQ,EAAC,gBAA6B,EAAE,OAAO,CAAC,CAAC;IAE3E,wBAAwB;IACxB,MAAM,OAAO,GAAe,IAAA,+BAAqB,EAAC,iBAAiB,CAAC,CAAC;IACrE,+CAA+C;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;SAC9B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAc,CAAC,CAAC;IAC1C,
|
|
1
|
+
{"version":3,"file":"Grpc.js","sourceRoot":"","sources":["../../../milvus/utils/Grpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export declare const convertToDataType: (key: keyof typeof DataTypeMap | DataTyp
|
|
|
35
35
|
export declare const formatFieldSchema: (field: FieldType, schemaTypes: Record<string, Type>, override?: {
|
|
36
36
|
partition_key_field?: string;
|
|
37
37
|
functionOutputFields?: string[];
|
|
38
|
-
|
|
38
|
+
clustering_key_field?: string;
|
|
39
39
|
}) => {
|
|
40
40
|
[k: string]: any;
|
|
41
41
|
};
|
|
@@ -167,12 +167,12 @@ exports.convertToDataType = convertToDataType;
|
|
|
167
167
|
* @returns {Object} The formatted field schema.
|
|
168
168
|
*/
|
|
169
169
|
const formatFieldSchema = (field, schemaTypes, override) => {
|
|
170
|
-
const { partition_key_field, functionOutputFields = [],
|
|
170
|
+
const { partition_key_field, functionOutputFields = [], clustering_key_field, } = override || {};
|
|
171
171
|
// Assign the typeParams property to the result of parseToKeyValue(type_params).
|
|
172
172
|
const _a = (0, exports.assignTypeParams)(field), { type_params, data_type, element_type, is_function_output, is_partition_key, is_primary_key } = _a, rest = __rest(_a, ["type_params", "data_type", "element_type", "is_function_output", "is_partition_key", "is_primary_key"]);
|
|
173
173
|
const dataType = (0, exports.convertToDataType)(field.data_type);
|
|
174
174
|
const createObj = Object.assign(Object.assign({}, rest), { typeParams: (0, __1.parseToKeyValue)(type_params), data_type,
|
|
175
|
-
dataType, isPrimaryKey: !!is_primary_key, isPartitionKey: !!is_partition_key || field.name === partition_key_field, isFunctionOutput: !!is_function_output || functionOutputFields.includes(field.name), isClusteringKey: !!field.is_clustering_key || field.name ===
|
|
175
|
+
dataType, isPrimaryKey: !!is_primary_key, isPartitionKey: !!is_partition_key || field.name === partition_key_field, isFunctionOutput: !!is_function_output || functionOutputFields.includes(field.name), isClusteringKey: !!field.is_clustering_key || field.name === clustering_key_field });
|
|
176
176
|
// if element type exist and
|
|
177
177
|
if ((dataType === __1.DataType.Array || dataType === 106) &&
|
|
178
178
|
typeof element_type !== 'undefined') {
|
|
@@ -258,7 +258,7 @@ exports.formatStructArrayFieldSchema = formatStructArrayFieldSchema;
|
|
|
258
258
|
* @returns {Object} The formatted request payload.
|
|
259
259
|
*/
|
|
260
260
|
const formatCollectionSchema = (data, schemaTypes) => {
|
|
261
|
-
const { collection_name, description, enable_dynamic_field, enableDynamicField, partition_key_field, functions,
|
|
261
|
+
const { collection_name, description, enable_dynamic_field, enableDynamicField, partition_key_field, functions, clustering_key_field, } = data;
|
|
262
262
|
let fields = data.fields;
|
|
263
263
|
if (data.schema) {
|
|
264
264
|
fields = data.schema;
|
|
@@ -289,7 +289,7 @@ const formatCollectionSchema = (data, schemaTypes) => {
|
|
|
289
289
|
payload = Object.assign({ name: collection_name, description: description || '', enableDynamicField: !!enableDynamicField || !!enable_dynamic_field, fields: fieldsWithoutStructArray.map(field => (0, exports.formatFieldSchema)(field, schemaTypes, {
|
|
290
290
|
partition_key_field,
|
|
291
291
|
functionOutputFields,
|
|
292
|
-
|
|
292
|
+
clustering_key_field,
|
|
293
293
|
})), structArrayFields: structArrayFields.map(field => (0, exports.formatStructArrayFieldSchema)(field, schemaTypes)) }, payload);
|
|
294
294
|
return payload;
|
|
295
295
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../milvus/utils/Schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../milvus/utils/Schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Root } from 'protobufjs';
|
|
2
|
-
import { KeyValuePair, DescribeCollectionResponse, SearchReq, SearchSimpleReq, SearchParam, HybridSearchReq, DslType, SearchRes, ConsistencyLevelEnum, RerankerObj, OutputTransformers, SearchData, FieldSchema, keyValueObj, FunctionObject, FunctionScore } from '../';
|
|
2
|
+
import { KeyValuePair, DescribeCollectionResponse, SearchReq, SearchSimpleReq, SearchParam, HybridSearchReq, DslType, SearchRes, ConsistencyLevelEnum, RerankerObj, OutputTransformers, SearchData, FieldSchema, keyValueObj, FunctionObject, FunctionScore, Highlighter } from '../';
|
|
3
3
|
/**
|
|
4
4
|
* Builds search parameters based on the provided data.
|
|
5
5
|
* @param data - The data object containing search parameters.
|
|
@@ -47,6 +47,19 @@ type FormatedSearchRequest = {
|
|
|
47
47
|
rank_params?: KeyValuePair[];
|
|
48
48
|
function_score?: any;
|
|
49
49
|
requests?: FormatedSearchRequest[];
|
|
50
|
+
highlighter?: {
|
|
51
|
+
type: number;
|
|
52
|
+
params: KeyValuePair[];
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Serializes a Highlighter object into the gRPC Highlighter message format.
|
|
57
|
+
* @param highlighter - The highlighter configuration.
|
|
58
|
+
* @returns The serialized highlighter object with type and params as KeyValuePair[].
|
|
59
|
+
*/
|
|
60
|
+
export declare const buildHighlighter: (highlighter: Highlighter) => {
|
|
61
|
+
type: number;
|
|
62
|
+
params: KeyValuePair[];
|
|
50
63
|
};
|
|
51
64
|
/**
|
|
52
65
|
* Creates function_score object for search requests
|
|
@@ -97,6 +110,10 @@ export declare const buildSearchRequest: (params: SearchReq | SearchSimpleReq |
|
|
|
97
110
|
round_decimal?: number | undefined;
|
|
98
111
|
isHybridSearch: boolean;
|
|
99
112
|
request: {
|
|
113
|
+
highlighter: {
|
|
114
|
+
type: number;
|
|
115
|
+
params: KeyValuePair[];
|
|
116
|
+
};
|
|
100
117
|
rank_params: KeyValuePair<string, string | number>[];
|
|
101
118
|
function_score?: undefined;
|
|
102
119
|
collection_name: string;
|
|
@@ -105,6 +122,19 @@ export declare const buildSearchRequest: (params: SearchReq | SearchSimpleReq |
|
|
|
105
122
|
output_fields: string[];
|
|
106
123
|
consistency_level: ConsistencyLevelEnum;
|
|
107
124
|
} | {
|
|
125
|
+
highlighter?: undefined;
|
|
126
|
+
rank_params: KeyValuePair<string, string | number>[];
|
|
127
|
+
function_score?: undefined;
|
|
128
|
+
collection_name: string;
|
|
129
|
+
partition_names: string[] | undefined;
|
|
130
|
+
requests: FormatedSearchRequest[];
|
|
131
|
+
output_fields: string[];
|
|
132
|
+
consistency_level: ConsistencyLevelEnum;
|
|
133
|
+
} | {
|
|
134
|
+
highlighter: {
|
|
135
|
+
type: number;
|
|
136
|
+
params: KeyValuePair[];
|
|
137
|
+
};
|
|
108
138
|
rank_params: KeyValuePair<string, string | number>[];
|
|
109
139
|
function_score: {
|
|
110
140
|
functions: {
|
|
@@ -123,6 +153,29 @@ export declare const buildSearchRequest: (params: SearchReq | SearchSimpleReq |
|
|
|
123
153
|
output_fields: string[];
|
|
124
154
|
consistency_level: ConsistencyLevelEnum;
|
|
125
155
|
} | {
|
|
156
|
+
highlighter?: undefined;
|
|
157
|
+
rank_params: KeyValuePair<string, string | number>[];
|
|
158
|
+
function_score: {
|
|
159
|
+
functions: {
|
|
160
|
+
input_field_names: string[];
|
|
161
|
+
output_field_names: string[];
|
|
162
|
+
params: KeyValuePair<string, string | number>[];
|
|
163
|
+
name: string;
|
|
164
|
+
description?: string | undefined;
|
|
165
|
+
type: import("../").FunctionType;
|
|
166
|
+
}[];
|
|
167
|
+
params: KeyValuePair<string, string | number>[];
|
|
168
|
+
};
|
|
169
|
+
collection_name: string;
|
|
170
|
+
partition_names: string[] | undefined;
|
|
171
|
+
requests: FormatedSearchRequest[];
|
|
172
|
+
output_fields: string[];
|
|
173
|
+
consistency_level: ConsistencyLevelEnum;
|
|
174
|
+
} | {
|
|
175
|
+
highlighter?: {
|
|
176
|
+
type: number;
|
|
177
|
+
params: KeyValuePair[];
|
|
178
|
+
} | undefined;
|
|
126
179
|
function_score?: any;
|
|
127
180
|
collection_name: string;
|
|
128
181
|
partition_names: string[];
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatExprValues = exports.formatSearchData = exports.formatSearchResult = exports.buildSearchRequest = exports.createFunctionScore = exports.convertRerankParams = exports.WeightedRanker = exports.RRFRanker = exports.buildSearchParams = void 0;
|
|
14
|
+
exports.formatExprValues = exports.formatSearchData = exports.formatSearchResult = exports.buildSearchRequest = exports.createFunctionScore = exports.buildHighlighter = exports.convertRerankParams = exports.WeightedRanker = exports.RRFRanker = exports.buildSearchParams = void 0;
|
|
4
15
|
const __1 = require("../");
|
|
5
16
|
/**
|
|
6
17
|
* Type guard to check if an object is a FunctionScore
|
|
@@ -90,6 +101,16 @@ const convertRerankParams = (rerank) => {
|
|
|
90
101
|
return r;
|
|
91
102
|
};
|
|
92
103
|
exports.convertRerankParams = convertRerankParams;
|
|
104
|
+
/**
|
|
105
|
+
* Serializes a Highlighter object into the gRPC Highlighter message format.
|
|
106
|
+
* @param highlighter - The highlighter configuration.
|
|
107
|
+
* @returns The serialized highlighter object with type and params as KeyValuePair[].
|
|
108
|
+
*/
|
|
109
|
+
const buildHighlighter = (highlighter) => {
|
|
110
|
+
const { type } = highlighter, rest = __rest(highlighter, ["type"]);
|
|
111
|
+
return { type, params: (0, __1.parseToKeyValue)(rest, true) };
|
|
112
|
+
};
|
|
113
|
+
exports.buildHighlighter = buildHighlighter;
|
|
93
114
|
/**
|
|
94
115
|
* Creates function_score object for search requests
|
|
95
116
|
* @param isRerankFunction - Whether the rerank is a function object
|
|
@@ -254,8 +275,13 @@ const buildSearchRequest = (params, collectionInfo, milvusProto) => {
|
|
|
254
275
|
typeof rerank === 'object' &&
|
|
255
276
|
'type' in rerank);
|
|
256
277
|
const hasFunctionScore = isFunctionScore(rerank);
|
|
278
|
+
// build highlighter if provided
|
|
279
|
+
const highlighter = searchSimpleOrHybridReq.highlighter || searchReq.highlighter;
|
|
280
|
+
const highlighterParam = highlighter
|
|
281
|
+
? { highlighter: (0, exports.buildHighlighter)(highlighter) }
|
|
282
|
+
: {};
|
|
257
283
|
return Object.assign(Object.assign({ isHybridSearch: isHybridSearch, request: isHybridSearch
|
|
258
|
-
? Object.assign(Object.assign({ collection_name: params.collection_name, partition_names: params.partition_names, requests: requests, output_fields: (_e = requests[0]) === null || _e === void 0 ? void 0 : _e.output_fields, consistency_level: (_f = requests[0]) === null || _f === void 0 ? void 0 : _f.consistency_level }, (0, exports.createFunctionScore)(rerank)), {
|
|
284
|
+
? Object.assign(Object.assign(Object.assign({ collection_name: params.collection_name, partition_names: params.partition_names, requests: requests, output_fields: (_e = requests[0]) === null || _e === void 0 ? void 0 : _e.output_fields, consistency_level: (_f = requests[0]) === null || _f === void 0 ? void 0 : _f.consistency_level }, (0, exports.createFunctionScore)(rerank)), {
|
|
259
285
|
rank_params: [
|
|
260
286
|
...(isRerankerObj
|
|
261
287
|
? (0, __1.parseToKeyValue)((0, exports.convertRerankParams)(rerank))
|
|
@@ -272,7 +298,7 @@ const buildSearchRequest = (params, collectionInfo, milvusProto) => {
|
|
|
272
298
|
value: (_j = searchSimpleReq.offset) !== null && _j !== void 0 ? _j : 0,
|
|
273
299
|
},
|
|
274
300
|
],
|
|
275
|
-
}) : Object.assign(Object.assign({}, requests[0]), (0, exports.createFunctionScore)(rerank)) }, (round_decimal !== -1 ? { round_decimal } : {})), { nq: requests[0].nq });
|
|
301
|
+
}), highlighterParam) : Object.assign(Object.assign(Object.assign({}, requests[0]), (0, exports.createFunctionScore)(rerank)), highlighterParam) }, (round_decimal !== -1 ? { round_decimal } : {})), { nq: requests[0].nq });
|
|
276
302
|
};
|
|
277
303
|
exports.buildSearchRequest = buildSearchRequest;
|
|
278
304
|
/**
|
|
@@ -290,7 +316,7 @@ const formatSearchResult = (searchRes, options) => {
|
|
|
290
316
|
const { round_decimal } = options;
|
|
291
317
|
// build final results array
|
|
292
318
|
const results = [];
|
|
293
|
-
const { topks, scores, fields_data } = searchRes.results;
|
|
319
|
+
const { topks, scores, fields_data, highlight_results } = searchRes.results;
|
|
294
320
|
// build fields data map
|
|
295
321
|
const fieldsDataMap = (0, __1.buildFieldDataMap)(fields_data, options.transformers);
|
|
296
322
|
// build output name array
|
|
@@ -299,6 +325,8 @@ const formatSearchResult = (searchRes, options) => {
|
|
|
299
325
|
? searchRes.results.output_fields
|
|
300
326
|
: fields_data.map(f => f.field_name)),
|
|
301
327
|
];
|
|
328
|
+
// check highlight results once outside the loop
|
|
329
|
+
const hasHighlights = !!(highlight_results && highlight_results.length > 0);
|
|
302
330
|
// fieldsDataMap.set('score', scores); TODO: fieldDataMap to support formatter
|
|
303
331
|
/**
|
|
304
332
|
* This code block formats the search results returned by Milvus into row data for easier use.
|
|
@@ -334,6 +362,24 @@ const formatSearchResult = (searchRes, options) => {
|
|
|
334
362
|
: undefined;
|
|
335
363
|
result[field_name] = value;
|
|
336
364
|
});
|
|
365
|
+
// attach highlight results if available
|
|
366
|
+
if (hasHighlights) {
|
|
367
|
+
const highlight = {};
|
|
368
|
+
let hasAny = false;
|
|
369
|
+
for (const hr of highlight_results) {
|
|
370
|
+
const data = hr.datas[absoluteIndex];
|
|
371
|
+
if (data) {
|
|
372
|
+
highlight[hr.field_name] = {
|
|
373
|
+
fragments: data.fragments || [],
|
|
374
|
+
scores: data.scores || [],
|
|
375
|
+
};
|
|
376
|
+
hasAny = true;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
if (hasAny) {
|
|
380
|
+
result.highlight = highlight;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
337
383
|
queryResults.push(result);
|
|
338
384
|
}
|
|
339
385
|
}
|