@zilliz/milvus2-sdk-node 2.6.1 → 2.6.2

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.
Files changed (72) hide show
  1. package/dist/milvus/MilvusClient.js +7 -1
  2. package/dist/milvus/MilvusClient.js.map +1 -1
  3. package/dist/milvus/const/milvus.d.ts +28 -3
  4. package/dist/milvus/const/milvus.js +29 -1
  5. package/dist/milvus/const/milvus.js.map +1 -1
  6. package/dist/milvus/grpc/BaseClient.d.ts +1 -0
  7. package/dist/milvus/grpc/BaseClient.js +1 -0
  8. package/dist/milvus/grpc/BaseClient.js.map +1 -1
  9. package/dist/milvus/grpc/Collection.js +21 -2
  10. package/dist/milvus/grpc/Collection.js.map +1 -1
  11. package/dist/milvus/grpc/Data.d.ts +57 -20
  12. package/dist/milvus/grpc/Data.js +138 -51
  13. package/dist/milvus/grpc/Data.js.map +1 -1
  14. package/dist/milvus/proto-json/milvus.base.d.ts +164 -2
  15. package/dist/milvus/proto-json/milvus.base.js +165 -3
  16. package/dist/milvus/proto-json/milvus.base.js.map +1 -1
  17. package/dist/milvus/proto-json/milvus.d.ts +164 -2
  18. package/dist/milvus/proto-json/milvus.js +165 -3
  19. package/dist/milvus/proto-json/milvus.js.map +1 -1
  20. package/dist/milvus/proto-json/schema.base.d.ts +52 -0
  21. package/dist/milvus/proto-json/schema.base.js +53 -1
  22. package/dist/milvus/proto-json/schema.base.js.map +1 -1
  23. package/dist/milvus/types/Collection.d.ts +8 -2
  24. package/dist/milvus/types/Common.d.ts +3 -0
  25. package/dist/milvus/types/Data.d.ts +1 -304
  26. package/dist/milvus/types/Data.js +0 -1
  27. package/dist/milvus/types/Data.js.map +1 -1
  28. package/dist/milvus/types/DataTypes.d.ts +35 -0
  29. package/dist/milvus/types/DataTypes.js +3 -0
  30. package/dist/milvus/types/DataTypes.js.map +1 -0
  31. package/dist/milvus/types/HighLevel.d.ts +1 -1
  32. package/dist/milvus/types/Insert.d.ts +66 -0
  33. package/dist/milvus/types/Insert.js +4 -0
  34. package/dist/milvus/types/Insert.js.map +1 -0
  35. package/dist/milvus/types/Search.d.ts +147 -0
  36. package/dist/milvus/types/Search.js +4 -0
  37. package/dist/milvus/types/Search.js.map +1 -0
  38. package/dist/milvus/types/Segments.d.ts +68 -0
  39. package/dist/milvus/types/Segments.js +3 -0
  40. package/dist/milvus/types/Segments.js.map +1 -0
  41. package/dist/milvus/types/index.d.ts +4 -0
  42. package/dist/milvus/types/index.js +4 -0
  43. package/dist/milvus/types/index.js.map +1 -1
  44. package/dist/milvus/types.d.ts +4 -0
  45. package/dist/milvus/types.js +4 -1
  46. package/dist/milvus/types.js.map +1 -1
  47. package/dist/milvus/utils/Bytes.d.ts +3 -3
  48. package/dist/milvus/utils/Bytes.js +11 -10
  49. package/dist/milvus/utils/Bytes.js.map +1 -1
  50. package/dist/milvus/utils/Connection.d.ts +14 -0
  51. package/dist/milvus/utils/Connection.js +24 -0
  52. package/dist/milvus/utils/Connection.js.map +1 -0
  53. package/dist/milvus/utils/Data.d.ts +43 -0
  54. package/dist/milvus/utils/Data.js +297 -0
  55. package/dist/milvus/utils/Data.js.map +1 -0
  56. package/dist/milvus/utils/Format.d.ts +1 -233
  57. package/dist/milvus/utils/Format.js +108 -728
  58. package/dist/milvus/utils/Format.js.map +1 -1
  59. package/dist/milvus/utils/Function.d.ts +1 -21
  60. package/dist/milvus/utils/Function.js +1 -82
  61. package/dist/milvus/utils/Function.js.map +1 -1
  62. package/dist/milvus/utils/Schema.d.ts +59 -0
  63. package/dist/milvus/utils/Schema.js +256 -0
  64. package/dist/milvus/utils/Schema.js.map +1 -0
  65. package/dist/milvus/utils/Search.d.ts +193 -0
  66. package/dist/milvus/utils/Search.js +419 -0
  67. package/dist/milvus/utils/Search.js.map +1 -0
  68. package/dist/milvus/utils/index.d.ts +4 -0
  69. package/dist/milvus/utils/index.js +4 -0
  70. package/dist/milvus/utils/index.js.map +1 -1
  71. package/dist/sdk.json +1 -1
  72. package/package.json +2 -2
@@ -0,0 +1,193 @@
1
+ import { Root } from 'protobufjs';
2
+ import { KeyValuePair, DescribeCollectionResponse, SearchReq, SearchSimpleReq, SearchParam, HybridSearchReq, DslType, SearchRes, ConsistencyLevelEnum, RerankerObj, OutputTransformers, SearchData, FieldSchema, keyValueObj, FunctionObject, FunctionScore } from '../';
3
+ /**
4
+ * Builds search parameters based on the provided data.
5
+ * @param data - The data object containing search parameters.
6
+ * @returns The search parameters in key-value format.
7
+ */
8
+ export declare const buildSearchParams: (data: Omit<SearchSimpleReq, 'collection_name'>, anns_field: string) => SearchParam;
9
+ /**
10
+ * Creates a RRFRanker object with the specified value of k.
11
+ * @param k - The value of k used in the RRFRanker strategy.
12
+ * @returns An object representing the RRFRanker strategy with the specified value of k.
13
+ */
14
+ export declare const RRFRanker: (k?: number) => RerankerObj;
15
+ /**
16
+ * Creates a weighted ranker object.
17
+ * @param weights - An array of numbers representing the weights.
18
+ * @returns The weighted ranker object.
19
+ */
20
+ export declare const WeightedRanker: (weights: number[]) => RerankerObj;
21
+ /**
22
+ * Converts the rerank parameters object to a format suitable for API requests.
23
+ * @param rerank - The rerank parameters object.
24
+ * @returns The converted rerank parameters object.
25
+ */
26
+ export declare const convertRerankParams: (rerank: RerankerObj) => any;
27
+ type FormatedSearchRequest = {
28
+ collection_name: string;
29
+ partition_names: string[];
30
+ output_fields: string[];
31
+ nq?: number;
32
+ dsl?: string;
33
+ dsl_type?: DslType;
34
+ placeholder_group?: Uint8Array;
35
+ search_params?: KeyValuePair[];
36
+ consistency_level: ConsistencyLevelEnum;
37
+ expr?: string;
38
+ expr_template_values?: keyValueObj;
39
+ rank_params?: KeyValuePair[];
40
+ function_score?: any;
41
+ requests?: FormatedSearchRequest[];
42
+ };
43
+ /**
44
+ * Creates function_score object for search requests
45
+ * @param isRerankFunction - Whether the rerank is a function object
46
+ * @param searchHybridReq - The hybrid search request
47
+ * @param schemaTypes - Schema types for creating function objects
48
+ * @returns Function score object or empty object
49
+ */
50
+ export declare const createFunctionScore: (rerank?: RerankerObj | FunctionObject | FunctionScore) => {
51
+ function_score?: undefined;
52
+ } | {
53
+ function_score: {
54
+ functions: {
55
+ input_field_names: string[];
56
+ output_field_names: string[];
57
+ params: KeyValuePair<string, string | number>[];
58
+ name: string;
59
+ description?: string | undefined;
60
+ type: import("../").FunctionType;
61
+ }[];
62
+ params: KeyValuePair<string, string | number>[];
63
+ };
64
+ };
65
+ /**
66
+ * This method is used to build search request for a given data.
67
+ * It first fetches the collection info and then constructs the search request based on the data type.
68
+ * It also creates search vectors and a placeholder group for the search.
69
+ *
70
+ * @param {SearchReq | SearchSimpleReq | HybridSearchReq} data - The data for which to build the search request.
71
+ * @param {DescribeCollectionResponse} collectionInfo - The collection information.
72
+ * @param {Root} milvusProto - The milvus protocol object.
73
+ * @returns {Object} An object containing the search requests and search vectors.
74
+ * @returns {Object} return.params - The search requests used in the operation.
75
+ * @returns {string} return.params.collection_name - The name of the collection.
76
+ * @returns {string[]} return.params.partition_names - The partition names.
77
+ * @returns {string[]} return.params.output_fields - The output fields.
78
+ * @returns {number} return.params.nq - The number of query vectors.
79
+ * @returns {string} return.params.dsl - The domain specific language.
80
+ * @returns {string} return.params.dsl_type - The type of the domain specific language.
81
+ * @returns {Uint8Array} return.params.placeholder_group - The placeholder group.
82
+ * @returns {Object} return.params.search_params - The search parameters.
83
+ * @returns {string} return.params.consistency_level - The consistency level.
84
+ * @returns {Number[][]} return.searchVectors - The search vectors used in the operation.
85
+ * @returns {number} return.round_decimal - The score precision.
86
+ */
87
+ export declare const buildSearchRequest: (params: SearchReq | SearchSimpleReq | HybridSearchReq, collectionInfo: DescribeCollectionResponse, milvusProto: Root) => {
88
+ nq: number | undefined;
89
+ round_decimal?: number | undefined;
90
+ isHybridSearch: boolean;
91
+ request: {
92
+ rank_params: KeyValuePair<string, string | number>[];
93
+ function_score?: undefined;
94
+ collection_name: string;
95
+ partition_names: string[] | undefined;
96
+ requests: FormatedSearchRequest[];
97
+ output_fields: string[];
98
+ consistency_level: ConsistencyLevelEnum;
99
+ } | {
100
+ rank_params: KeyValuePair<string, string | number>[];
101
+ function_score: {
102
+ functions: {
103
+ input_field_names: string[];
104
+ output_field_names: string[];
105
+ params: KeyValuePair<string, string | number>[];
106
+ name: string;
107
+ description?: string | undefined;
108
+ type: import("../").FunctionType;
109
+ }[];
110
+ params: KeyValuePair<string, string | number>[];
111
+ };
112
+ collection_name: string;
113
+ partition_names: string[] | undefined;
114
+ requests: FormatedSearchRequest[];
115
+ output_fields: string[];
116
+ consistency_level: ConsistencyLevelEnum;
117
+ } | {
118
+ function_score?: any;
119
+ collection_name: string;
120
+ partition_names: string[];
121
+ output_fields: string[];
122
+ nq?: number | undefined;
123
+ dsl?: string | undefined;
124
+ dsl_type?: DslType | undefined;
125
+ placeholder_group?: Uint8Array | undefined;
126
+ search_params?: KeyValuePair<string, string | number>[] | undefined;
127
+ consistency_level: ConsistencyLevelEnum;
128
+ expr?: string | undefined;
129
+ expr_template_values?: keyValueObj | undefined;
130
+ rank_params?: KeyValuePair<string, string | number>[] | undefined;
131
+ requests?: FormatedSearchRequest[] | undefined;
132
+ };
133
+ };
134
+ /**
135
+ * Formats the search results returned by Milvus into row data for easier use.
136
+ *
137
+ * @param {SearchRes} searchRes - The search results returned by Milvus.
138
+ * @param {Object} options - The options for formatting the search results.
139
+ * @param {number} options.round_decimal - The number of decimal places to which to round the scores.
140
+ *
141
+ * @returns {any[]} The formatted search results.
142
+ *
143
+ */
144
+ export declare const formatSearchResult: (searchRes: SearchRes, options: {
145
+ round_decimal: number;
146
+ transformers?: OutputTransformers;
147
+ }) => any[];
148
+ /**
149
+ * Formats the search vector to match a specific data type.
150
+ * It should be an array, if the search data is a single vector, return a single array, if the search data is a array of vectors, return the array
151
+ * @param {SearchData[]} searchVector - The search vector or array of vectors to be formatted.
152
+ * @param {FieldSchema} field - The field schema.
153
+ * @returns {[SearchData] | SearchData[]}
154
+ */
155
+ export declare const formatSearchData: (searchData: SearchData | SearchData[], field: FieldSchema) => [SearchData] | SearchData[];
156
+ type TemplateValue = {
157
+ bool_val: boolean;
158
+ } | {
159
+ int64_val: number;
160
+ } | {
161
+ float_val: number;
162
+ } | {
163
+ string_val: string;
164
+ } | {
165
+ array_val: TemplateArrayValue;
166
+ };
167
+ type TemplateArrayValue = {
168
+ bool_data: {
169
+ data: boolean[];
170
+ };
171
+ } | {
172
+ long_data: {
173
+ data: number[];
174
+ };
175
+ } | {
176
+ double_data: {
177
+ data: number[];
178
+ };
179
+ } | {
180
+ string_data: {
181
+ data: string[];
182
+ };
183
+ } | {
184
+ json_data: {
185
+ data: any[];
186
+ };
187
+ } | {
188
+ array_data: {
189
+ data: TemplateArrayValue[];
190
+ };
191
+ };
192
+ export declare const formatExprValues: (exprValues: Record<string, any>) => Record<string, TemplateValue>;
193
+ export {};
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ 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;
4
+ const __1 = require("../");
5
+ /**
6
+ * Type guard to check if an object is a FunctionScore
7
+ * @param obj - The object to check
8
+ * @returns True if the object is a FunctionScore
9
+ */
10
+ const isFunctionScore = (obj) => {
11
+ return (obj &&
12
+ typeof obj === 'object' &&
13
+ Array.isArray(obj.functions) &&
14
+ typeof obj.params === 'object' &&
15
+ obj.params !== null);
16
+ };
17
+ /**
18
+ * Builds search parameters based on the provided data.
19
+ * @param data - The data object containing search parameters.
20
+ * @returns The search parameters in key-value format.
21
+ */
22
+ const buildSearchParams = (data, anns_field) => {
23
+ var _a, _b, _c, _d, _e, _f;
24
+ // create search params
25
+ const search_params = {
26
+ anns_field: data.anns_field || anns_field,
27
+ params: JSON.stringify((_a = data.params) !== null && _a !== void 0 ? _a : {}),
28
+ topk: (_c = (_b = data.limit) !== null && _b !== void 0 ? _b : data.topk) !== null && _c !== void 0 ? _c : __1.DEFAULT_TOPK,
29
+ offset: (_d = data.offset) !== null && _d !== void 0 ? _d : 0,
30
+ metric_type: (_e = data.metric_type) !== null && _e !== void 0 ? _e : '',
31
+ ignore_growing: (_f = data.ignore_growing) !== null && _f !== void 0 ? _f : false,
32
+ };
33
+ // if group_by_field is set
34
+ // reminder: never add this kind of key again, just put params in the params object
35
+ if (data.group_by_field) {
36
+ search_params.group_by_field = data.group_by_field;
37
+ }
38
+ if (data.strict_group_size) {
39
+ search_params.strict_group_size = data.strict_group_size;
40
+ }
41
+ if (data.group_size) {
42
+ search_params.group_size = data.group_size;
43
+ }
44
+ if (data.hints) {
45
+ search_params.hints = data.hints;
46
+ }
47
+ // data.params -> search_params
48
+ for (let key in data.params) {
49
+ search_params[key] = data.params[key];
50
+ }
51
+ return search_params;
52
+ };
53
+ exports.buildSearchParams = buildSearchParams;
54
+ /**
55
+ * Creates a RRFRanker object with the specified value of k.
56
+ * @param k - The value of k used in the RRFRanker strategy.
57
+ * @returns An object representing the RRFRanker strategy with the specified value of k.
58
+ */
59
+ const RRFRanker = (k = 60) => {
60
+ return {
61
+ strategy: __1.RANKER_TYPE.RRF,
62
+ params: {
63
+ k,
64
+ },
65
+ };
66
+ };
67
+ exports.RRFRanker = RRFRanker;
68
+ /**
69
+ * Creates a weighted ranker object.
70
+ * @param weights - An array of numbers representing the weights.
71
+ * @returns The weighted ranker object.
72
+ */
73
+ const WeightedRanker = (weights) => {
74
+ return {
75
+ strategy: __1.RANKER_TYPE.WEIGHTED,
76
+ params: {
77
+ weights,
78
+ },
79
+ };
80
+ };
81
+ exports.WeightedRanker = WeightedRanker;
82
+ /**
83
+ * Converts the rerank parameters object to a format suitable for API requests.
84
+ * @param rerank - The rerank parameters object.
85
+ * @returns The converted rerank parameters object.
86
+ */
87
+ const convertRerankParams = (rerank) => {
88
+ const r = (0, __1.cloneObj)(rerank);
89
+ r.params = JSON.stringify(r.params);
90
+ return r;
91
+ };
92
+ exports.convertRerankParams = convertRerankParams;
93
+ /**
94
+ * Creates function_score object for search requests
95
+ * @param isRerankFunction - Whether the rerank is a function object
96
+ * @param searchHybridReq - The hybrid search request
97
+ * @param schemaTypes - Schema types for creating function objects
98
+ * @returns Function score object or empty object
99
+ */
100
+ const createFunctionScore = (rerank) => {
101
+ if (!rerank) {
102
+ return {};
103
+ }
104
+ if (isFunctionScore(rerank)) {
105
+ const functionScore = rerank;
106
+ return {
107
+ function_score: {
108
+ functions: functionScore.functions.map(func => (Object.assign(Object.assign({}, func), { input_field_names: func.input_field_names || [], output_field_names: func.output_field_names || [], params: (0, __1.parseToKeyValue)(func.params, true) }))),
109
+ params: (0, __1.parseToKeyValue)(functionScore.params, true),
110
+ },
111
+ };
112
+ }
113
+ if (typeof rerank === 'object' && 'type' in rerank) {
114
+ const functionObject = rerank;
115
+ return {
116
+ function_score: {
117
+ functions: [
118
+ Object.assign(Object.assign({}, functionObject), { input_field_names: functionObject.input_field_names || [], output_field_names: functionObject.output_field_names || [], params: (0, __1.parseToKeyValue)(functionObject.params, true) }),
119
+ ],
120
+ params: [],
121
+ },
122
+ };
123
+ }
124
+ return {};
125
+ };
126
+ exports.createFunctionScore = createFunctionScore;
127
+ /**
128
+ * This method is used to build search request for a given data.
129
+ * It first fetches the collection info and then constructs the search request based on the data type.
130
+ * It also creates search vectors and a placeholder group for the search.
131
+ *
132
+ * @param {SearchReq | SearchSimpleReq | HybridSearchReq} data - The data for which to build the search request.
133
+ * @param {DescribeCollectionResponse} collectionInfo - The collection information.
134
+ * @param {Root} milvusProto - The milvus protocol object.
135
+ * @returns {Object} An object containing the search requests and search vectors.
136
+ * @returns {Object} return.params - The search requests used in the operation.
137
+ * @returns {string} return.params.collection_name - The name of the collection.
138
+ * @returns {string[]} return.params.partition_names - The partition names.
139
+ * @returns {string[]} return.params.output_fields - The output fields.
140
+ * @returns {number} return.params.nq - The number of query vectors.
141
+ * @returns {string} return.params.dsl - The domain specific language.
142
+ * @returns {string} return.params.dsl_type - The type of the domain specific language.
143
+ * @returns {Uint8Array} return.params.placeholder_group - The placeholder group.
144
+ * @returns {Object} return.params.search_params - The search parameters.
145
+ * @returns {string} return.params.consistency_level - The consistency level.
146
+ * @returns {Number[][]} return.searchVectors - The search vectors used in the operation.
147
+ * @returns {number} return.round_decimal - The score precision.
148
+ */
149
+ const buildSearchRequest = (params, collectionInfo, milvusProto) => {
150
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
151
+ // type cast
152
+ const searchReq = params;
153
+ const searchHybridReq = params;
154
+ const searchSimpleReq = params;
155
+ const searchSimpleOrHybridReq = params;
156
+ // Initialize requests array
157
+ const requests = [];
158
+ // detect if the request is hybrid search request
159
+ const isHybridSearch = !!(searchHybridReq.data &&
160
+ searchHybridReq.data.length &&
161
+ typeof searchHybridReq.data[0] === 'object' &&
162
+ searchHybridReq.data[0].anns_field);
163
+ // output fields(reference fields)
164
+ const default_output_fields = ['*'];
165
+ // build user search requests
166
+ const userRequests = isHybridSearch
167
+ ? searchHybridReq.data.map(d => (Object.assign(Object.assign({}, params), d)))
168
+ : [
169
+ Object.assign(Object.assign({}, searchSimpleReq), { data: searchReq.vectors || searchSimpleReq.vector || searchSimpleReq.data, anns_field: searchSimpleReq.anns_field ||
170
+ Object.keys(collectionInfo.anns_fields || {})[0] }),
171
+ ];
172
+ for (const userRequest of userRequests) {
173
+ const { data, anns_field } = userRequest;
174
+ const annsField = collectionInfo.anns_fields[anns_field];
175
+ if (!annsField) {
176
+ throw new Error(__1.ERROR_REASONS.NO_ANNS_FEILD_FOUND_IN_SEARCH);
177
+ }
178
+ // get search data
179
+ const searchData = (0, exports.formatSearchData)(data, annsField);
180
+ const request = {
181
+ collection_name: params.collection_name,
182
+ partition_names: params.partition_names || [],
183
+ output_fields: params.output_fields || default_output_fields,
184
+ nq: searchReq.nq || searchData.length,
185
+ dsl: userRequest.expr || searchReq.expr || searchSimpleReq.filter || '',
186
+ dsl_type: __1.DslType.BoolExprV1,
187
+ placeholder_group: (0, __1.buildPlaceholderGroupBytes)(milvusProto, searchData, annsField),
188
+ search_params: (0, __1.parseToKeyValue)(searchReq.search_params || (0, exports.buildSearchParams)(userRequest, anns_field)),
189
+ consistency_level: params.consistency_level || collectionInfo.consistency_level,
190
+ };
191
+ // if exprValues is set, add it to the request(inner)
192
+ if (userRequest.exprValues) {
193
+ request.expr_template_values = (0, exports.formatExprValues)(userRequest.exprValues);
194
+ }
195
+ requests.push(request);
196
+ }
197
+ /**
198
+ * It will decide the score precision.
199
+ * If round_decimal is 3, need return like 3.142
200
+ * And if Milvus return like 3.142, Node will add more number after this like 3.142000047683716.
201
+ * So the score need to slice by round_decimal
202
+ */
203
+ const round_decimal = (_d = (_b = (_a = searchReq.search_params) === null || _a === void 0 ? void 0 : _a.round_decimal) !== null && _b !== void 0 ? _b : (_c = searchSimpleReq.params) === null || _c === void 0 ? void 0 : _c.round_decimal) !== null && _d !== void 0 ? _d : -1;
204
+ // get rerank
205
+ const rerank = searchSimpleOrHybridReq.rerank;
206
+ const hasRerankFunction = !!(rerank &&
207
+ typeof rerank === 'object' &&
208
+ 'type' in rerank);
209
+ const hasFunctionScore = isFunctionScore(rerank);
210
+ return Object.assign(Object.assign({ isHybridSearch: isHybridSearch, request: isHybridSearch
211
+ ? 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)), {
212
+ rank_params: [
213
+ ...(!hasRerankFunction && !hasFunctionScore
214
+ ? (0, __1.parseToKeyValue)((0, exports.convertRerankParams)((0, exports.RRFRanker)()))
215
+ : []),
216
+ { key: 'round_decimal', value: round_decimal },
217
+ {
218
+ key: 'limit',
219
+ value: (_h = (_g = searchSimpleReq.limit) !== null && _g !== void 0 ? _g : searchSimpleReq.topk) !== null && _h !== void 0 ? _h : __1.DEFAULT_TOPK,
220
+ },
221
+ {
222
+ key: 'offset',
223
+ value: (_j = searchSimpleReq.offset) !== null && _j !== void 0 ? _j : 0,
224
+ },
225
+ ],
226
+ }) : Object.assign(Object.assign({}, requests[0]), (0, exports.createFunctionScore)(rerank)) }, (round_decimal !== -1 ? { round_decimal } : {})), { nq: requests[0].nq });
227
+ };
228
+ exports.buildSearchRequest = buildSearchRequest;
229
+ /**
230
+ * Formats the search results returned by Milvus into row data for easier use.
231
+ *
232
+ * @param {SearchRes} searchRes - The search results returned by Milvus.
233
+ * @param {Object} options - The options for formatting the search results.
234
+ * @param {number} options.round_decimal - The number of decimal places to which to round the scores.
235
+ *
236
+ * @returns {any[]} The formatted search results.
237
+ *
238
+ */
239
+ const formatSearchResult = (searchRes, options) => {
240
+ var _a;
241
+ const { round_decimal } = options;
242
+ // build final results array
243
+ const results = [];
244
+ const { topks, scores, fields_data } = searchRes.results;
245
+ // build fields data map
246
+ const fieldsDataMap = (0, __1.buildFieldDataMap)(fields_data, options.transformers);
247
+ // build output name array
248
+ const output_fields = [
249
+ ...(!!((_a = searchRes.results.output_fields) === null || _a === void 0 ? void 0 : _a.length)
250
+ ? searchRes.results.output_fields
251
+ : fields_data.map(f => f.field_name)),
252
+ ];
253
+ // fieldsDataMap.set('score', scores); TODO: fieldDataMap to support formatter
254
+ /**
255
+ * This code block formats the search results returned by Milvus into row data for easier use.
256
+ * Milvus supports multiple queries to search and returns all columns data, so we need to splice the data for each search result using the `topk` variable.
257
+ * The `topk` variable is the key we use to splice data for every search result.
258
+ * The `scores` array is spliced using the `topk` value, and the resulting scores are formatted to the specified precision using the `formatNumberPrecision` function. The resulting row data is then pushed to the `results` array.
259
+ */
260
+ let offset = 0;
261
+ topks.forEach((v, queryIndex) => {
262
+ const topk = Number(v);
263
+ const queryResults = [];
264
+ if (topk > 0) {
265
+ for (let hitIndex = 0; hitIndex < topk; hitIndex++) {
266
+ const absoluteIndex = offset + hitIndex; // Correct index for flat arrays
267
+ const score = scores[absoluteIndex]; // Access score without modifying array
268
+ const fixedScore = typeof round_decimal === 'undefined' || round_decimal === -1
269
+ ? score
270
+ : (0, __1.formatNumberPrecision)(score, round_decimal);
271
+ const result = { score: fixedScore };
272
+ // Get ID - Assuming ID field name is known or included in output_fields
273
+ // Example: const idFieldName = collectionInfo.schema.primary_field_name;
274
+ // if (fieldsDataMap.has(idFieldName)) {
275
+ // result.id = fieldsDataMap.get(idFieldName)![absoluteIndex];
276
+ // }
277
+ output_fields.forEach(field_name => {
278
+ const isFixedSchema = fieldsDataMap.has(field_name);
279
+ const dataArray = fieldsDataMap.get(isFixedSchema ? field_name : __1.DEFAULT_DYNAMIC_FIELD);
280
+ // Safer read-only access for dynamic fields
281
+ const value = isFixedSchema
282
+ ? dataArray[absoluteIndex]
283
+ : dataArray[absoluteIndex]
284
+ ? dataArray[absoluteIndex][field_name]
285
+ : undefined;
286
+ result[field_name] = value;
287
+ });
288
+ queryResults.push(result);
289
+ }
290
+ }
291
+ results[queryIndex] = queryResults;
292
+ offset += topk; // Update offset for the next query's results
293
+ });
294
+ return results;
295
+ };
296
+ exports.formatSearchResult = formatSearchResult;
297
+ /**
298
+ * Formats the search vector to match a specific data type.
299
+ * It should be an array, if the search data is a single vector, return a single array, if the search data is a array of vectors, return the array
300
+ * @param {SearchData[]} searchVector - The search vector or array of vectors to be formatted.
301
+ * @param {FieldSchema} field - The field schema.
302
+ * @returns {[SearchData] | SearchData[]}
303
+ */
304
+ const formatSearchData = (searchData, field) => {
305
+ const { is_function_output, _placeholderType } = field;
306
+ if (is_function_output) {
307
+ return Array.isArray(searchData)
308
+ ? searchData
309
+ : [searchData];
310
+ }
311
+ switch (_placeholderType) {
312
+ case __1.PlaceholderType.EmbListFloatVector:
313
+ const isMultiEmbeddingList = Array.isArray(searchData) &&
314
+ Array.isArray(searchData[0]) &&
315
+ Array.isArray(searchData[0][0]);
316
+ if (isMultiEmbeddingList) {
317
+ return searchData.map(v => v.flat());
318
+ }
319
+ else {
320
+ return [searchData.flat()];
321
+ }
322
+ case __1.PlaceholderType.FloatVector:
323
+ case __1.PlaceholderType.BinaryVector:
324
+ case __1.PlaceholderType.Float16Vector:
325
+ case __1.PlaceholderType.BFloat16Vector:
326
+ case __1.PlaceholderType.Int8Vector:
327
+ if (!Array.isArray(searchData)) {
328
+ // for bytes
329
+ return [searchData];
330
+ }
331
+ case __1.PlaceholderType.SparseFloatVector:
332
+ const type = (0, __1.getSparseFloatVectorType)(searchData);
333
+ if (type !== 'unknown') {
334
+ return [searchData];
335
+ }
336
+ default:
337
+ return searchData;
338
+ }
339
+ };
340
+ exports.formatSearchData = formatSearchData;
341
+ const formatExprValues = (exprValues) => {
342
+ const result = {};
343
+ for (const [key, value] of Object.entries(exprValues)) {
344
+ if (Array.isArray(value)) {
345
+ // Handle arrays
346
+ result[key] = { array_val: convertArray(value) };
347
+ }
348
+ else {
349
+ // Handle primitive types
350
+ if (typeof value === 'boolean') {
351
+ result[key] = { bool_val: value };
352
+ }
353
+ else if (typeof value === 'number') {
354
+ result[key] = Number.isInteger(value)
355
+ ? { int64_val: value }
356
+ : { float_val: value };
357
+ }
358
+ else if (typeof value === 'string') {
359
+ result[key] = { string_val: value };
360
+ }
361
+ }
362
+ }
363
+ return result;
364
+ };
365
+ exports.formatExprValues = formatExprValues;
366
+ const convertArray = (arr) => {
367
+ const first = arr[0];
368
+ switch (typeof first) {
369
+ case 'boolean':
370
+ return {
371
+ bool_data: {
372
+ data: arr,
373
+ },
374
+ };
375
+ case 'number':
376
+ if (Number.isInteger(first)) {
377
+ return {
378
+ long_data: {
379
+ data: arr,
380
+ },
381
+ };
382
+ }
383
+ else {
384
+ return {
385
+ double_data: {
386
+ data: arr,
387
+ },
388
+ };
389
+ }
390
+ case 'string':
391
+ return {
392
+ string_data: {
393
+ data: arr,
394
+ },
395
+ };
396
+ case 'object':
397
+ if (Array.isArray(first)) {
398
+ return {
399
+ array_data: {
400
+ data: arr.map(convertArray),
401
+ },
402
+ };
403
+ }
404
+ else {
405
+ return {
406
+ json_data: {
407
+ data: arr,
408
+ },
409
+ };
410
+ }
411
+ default:
412
+ return {
413
+ string_data: {
414
+ data: arr,
415
+ },
416
+ };
417
+ }
418
+ };
419
+ //# sourceMappingURL=Search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../milvus/utils/Search.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  export * from './Grpc';
2
+ export * from './Connection';
3
+ export * from './Schema';
4
+ export * from './Data';
5
+ export * from './Search';
2
6
  export * from './Bytes';
3
7
  export * from './Format';
4
8
  export * from './Validate';
@@ -15,6 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Grpc"), exports);
18
+ __exportStar(require("./Connection"), exports);
19
+ __exportStar(require("./Schema"), exports);
20
+ __exportStar(require("./Data"), exports);
21
+ __exportStar(require("./Search"), exports);
18
22
  __exportStar(require("./Bytes"), exports);
19
23
  __exportStar(require("./Format"), exports);
20
24
  __exportStar(require("./Validate"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../milvus/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../milvus/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB"}
package/dist/sdk.json CHANGED
@@ -1 +1 @@
1
- {"version":"2.6.1","milvusVersion":"v2.6.3"}
1
+ {"version":"2.6.2","milvusVersion":"v2.6.4"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@zilliz/milvus2-sdk-node",
3
3
  "author": "Zilliz",
4
- "milvusVersion": "v2.6.3",
5
- "version": "2.6.1",
4
+ "milvusVersion": "v2.6.4",
5
+ "version": "2.6.2",
6
6
  "main": "dist/milvus",
7
7
  "files": [
8
8
  "dist"