@zilliz/milvus2-sdk-node 2.3.5 → 2.4.1

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 (121) hide show
  1. package/README.md +154 -35
  2. package/dist/milvus/HttpClient.d.ts +165 -2
  3. package/dist/milvus/HttpClient.js +17 -3
  4. package/dist/milvus/HttpClient.js.map +1 -1
  5. package/dist/milvus/MilvusClient.d.ts +3 -3
  6. package/dist/milvus/MilvusClient.js +42 -8
  7. package/dist/milvus/MilvusClient.js.map +1 -1
  8. package/dist/milvus/const/client.d.ts +4 -3
  9. package/dist/milvus/const/client.js +4 -3
  10. package/dist/milvus/const/client.js.map +1 -1
  11. package/dist/milvus/const/defaults.d.ts +5 -4
  12. package/dist/milvus/const/defaults.js +14 -13
  13. package/dist/milvus/const/defaults.js.map +1 -1
  14. package/dist/milvus/const/error.js +1 -1
  15. package/dist/milvus/const/error.js.map +1 -1
  16. package/dist/milvus/const/milvus.d.ts +47 -8
  17. package/dist/milvus/const/milvus.js +42 -3
  18. package/dist/milvus/const/milvus.js.map +1 -1
  19. package/dist/milvus/grpc/BaseClient.d.ts +11 -9
  20. package/dist/milvus/grpc/BaseClient.js +59 -21
  21. package/dist/milvus/grpc/BaseClient.js.map +1 -1
  22. package/dist/milvus/grpc/Collection.d.ts +311 -366
  23. package/dist/milvus/grpc/Collection.js +355 -387
  24. package/dist/milvus/grpc/Collection.js.map +1 -1
  25. package/dist/milvus/grpc/Data.d.ts +244 -291
  26. package/dist/milvus/grpc/Data.js +402 -539
  27. package/dist/milvus/grpc/Data.js.map +1 -1
  28. package/dist/milvus/grpc/Database.d.ts +29 -41
  29. package/dist/milvus/grpc/Database.js +32 -44
  30. package/dist/milvus/grpc/Database.js.map +1 -1
  31. package/dist/milvus/grpc/GrpcClient.d.ts +34 -13
  32. package/dist/milvus/grpc/GrpcClient.js +80 -70
  33. package/dist/milvus/grpc/GrpcClient.js.map +1 -1
  34. package/dist/milvus/grpc/MilvusIndex.d.ts +127 -67
  35. package/dist/milvus/grpc/MilvusIndex.js +166 -70
  36. package/dist/milvus/grpc/MilvusIndex.js.map +1 -1
  37. package/dist/milvus/grpc/Partition.d.ts +78 -113
  38. package/dist/milvus/grpc/Partition.js +109 -119
  39. package/dist/milvus/grpc/Partition.js.map +1 -1
  40. package/dist/milvus/grpc/Resource.d.ts +63 -92
  41. package/dist/milvus/grpc/Resource.js +69 -98
  42. package/dist/milvus/grpc/Resource.js.map +1 -1
  43. package/dist/milvus/grpc/User.d.ts +263 -295
  44. package/dist/milvus/grpc/User.js +287 -310
  45. package/dist/milvus/grpc/User.js.map +1 -1
  46. package/dist/milvus/http/Alias.d.ts +37 -0
  47. package/dist/milvus/http/Alias.js +62 -0
  48. package/dist/milvus/http/Alias.js.map +1 -0
  49. package/dist/milvus/http/Collection.d.ts +15 -1
  50. package/dist/milvus/http/Collection.js +55 -9
  51. package/dist/milvus/http/Collection.js.map +1 -1
  52. package/dist/milvus/http/Import.d.ts +33 -0
  53. package/dist/milvus/http/Import.js +48 -0
  54. package/dist/milvus/http/Import.js.map +1 -0
  55. package/dist/milvus/http/MilvusIndex.d.ts +35 -0
  56. package/dist/milvus/http/MilvusIndex.js +55 -0
  57. package/dist/milvus/http/MilvusIndex.js.map +1 -0
  58. package/dist/milvus/http/Partition.d.ts +41 -0
  59. package/dist/milvus/http/Partition.js +76 -0
  60. package/dist/milvus/http/Partition.js.map +1 -0
  61. package/dist/milvus/http/Role.d.ts +39 -0
  62. package/dist/milvus/http/Role.js +69 -0
  63. package/dist/milvus/http/Role.js.map +1 -0
  64. package/dist/milvus/http/User.d.ts +41 -0
  65. package/dist/milvus/http/User.js +76 -0
  66. package/dist/milvus/http/User.js.map +1 -0
  67. package/dist/milvus/http/Vector.d.ts +5 -3
  68. package/dist/milvus/http/Vector.js +10 -7
  69. package/dist/milvus/http/Vector.js.map +1 -1
  70. package/dist/milvus/http/index.d.ts +6 -0
  71. package/dist/milvus/http/index.js +6 -0
  72. package/dist/milvus/http/index.js.map +1 -1
  73. package/dist/milvus/index.d.ts +0 -1
  74. package/dist/milvus/index.js +0 -1
  75. package/dist/milvus/index.js.map +1 -1
  76. package/dist/milvus/types/Client.d.ts +5 -0
  77. package/dist/milvus/types/Collection.d.ts +34 -9
  78. package/dist/milvus/types/Common.d.ts +1 -3
  79. package/dist/milvus/types/Data.d.ts +79 -23
  80. package/dist/milvus/types/Data.js +1 -0
  81. package/dist/milvus/types/Data.js.map +1 -1
  82. package/dist/milvus/types/HighLevel.d.ts +6 -3
  83. package/dist/milvus/types/Http.d.ts +191 -9
  84. package/dist/milvus/types/MilvusIndex.d.ts +17 -3
  85. package/dist/milvus/utils/Bytes.d.ts +84 -0
  86. package/dist/milvus/utils/Bytes.js +261 -0
  87. package/dist/milvus/utils/Bytes.js.map +1 -0
  88. package/dist/milvus/utils/Format.d.ts +126 -68
  89. package/dist/milvus/utils/Format.js +375 -94
  90. package/dist/milvus/utils/Format.js.map +1 -1
  91. package/dist/milvus/utils/Function.d.ts +4 -2
  92. package/dist/milvus/utils/Function.js +58 -25
  93. package/dist/milvus/utils/Function.js.map +1 -1
  94. package/dist/milvus/utils/Grpc.d.ts +3 -2
  95. package/dist/milvus/utils/Grpc.js +65 -98
  96. package/dist/milvus/utils/Grpc.js.map +1 -1
  97. package/dist/milvus/utils/Validate.d.ts +18 -3
  98. package/dist/milvus/utils/Validate.js +38 -12
  99. package/dist/milvus/utils/Validate.js.map +1 -1
  100. package/dist/milvus/utils/index.d.ts +1 -1
  101. package/dist/milvus/utils/index.js +1 -1
  102. package/dist/milvus/utils/index.js.map +1 -1
  103. package/dist/proto/proto/common.proto +26 -1
  104. package/dist/proto/proto/google/protobuf/descriptor.proto +90 -28
  105. package/dist/proto/proto/milvus.proto +168 -2
  106. package/dist/proto/proto/rg.proto +28 -0
  107. package/dist/proto/proto/schema.proto +34 -0
  108. package/dist/sdk.json +1 -1
  109. package/package.json +8 -5
  110. package/dist/milvus/OrmClient.d.ts +0 -19
  111. package/dist/milvus/OrmClient.js +0 -51
  112. package/dist/milvus/OrmClient.js.map +0 -1
  113. package/dist/milvus/orm/Collection.d.ts +0 -43
  114. package/dist/milvus/orm/Collection.js +0 -165
  115. package/dist/milvus/orm/Collection.js.map +0 -1
  116. package/dist/milvus/orm/index.d.ts +0 -1
  117. package/dist/milvus/orm/index.js +0 -18
  118. package/dist/milvus/orm/index.js.map +0 -1
  119. package/dist/milvus/utils/Blob.d.ts +0 -4
  120. package/dist/milvus/utils/Blob.js +0 -18
  121. package/dist/milvus/utils/Blob.js.map +0 -1
@@ -1,23 +1,18 @@
1
1
  import { Data } from './Data';
2
- import { CreateIndexReq, DescribeIndexReq, DropIndexReq, GetIndexBuildProgressReq, GetIndexStateReq, ResStatus, DescribeIndexResponse, GetIndexStateResponse, GetIndexBuildProgressResponse, CreateIndexSimpleReq } from '../';
2
+ import { DescribeIndexReq, DropIndexReq, CreateIndexesReq, CreateIndexRequest, GetIndexBuildProgressReq, GetIndexStateReq, AlterIndexReq, ResStatus, DescribeIndexResponse, GetIndexStateResponse, ListIndexResponse, GetIndexBuildProgressResponse } from '../';
3
3
  export declare class Index extends Data {
4
4
  /**
5
- * Create an index on a vector field. Note that index building is an async progress.
6
- *
7
- * @param data
8
- * | Property | Type | Description |
9
- * | :-- | :-- | :-- |
10
- * | collection_name | String | Collection name |
11
- * | field_name | String | Field name |
12
- * | index_name | String | Index name is unique in one collection |
13
- * | extra_params | Object | Parameters: { index_type: string; metric_type: string; params: string; }; |
14
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
15
- *
16
- * @returns
17
- * | Property | Description |
18
- * | :-- | :-- |
19
- * | error_code | Error code number |
20
- * | reason | Error cause |
5
+ * Asynchronously creates an index on a field. Note that index building is an asynchronous process.
6
+ *
7
+ * @param {CreateIndexesReq | CreateIndexesReq[]} data - The data for creating the index. Can be an object or an array of objects.
8
+ * @param {string} data.collection_name - The name of the collection.
9
+ * @param {string} data.field_name - The name of the field.
10
+ * @param {string} data.index_name - The name of the index. It must be unique within a collection.
11
+ * @param {string} data.index_type - The type of the index.
12
+ * @param {string} data.metric_type - The type of the metric.
13
+ * @param {Object} data.params - The parameters for the index. For example, `{ nlist: number }`.
14
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or an error occurs. Default is undefined.
15
+ * @returns {Promise<ResStatus>} - A promise that resolves to a response status object.
21
16
  *
22
17
  * @example
23
18
  * ```
@@ -32,23 +27,48 @@ export declare class Index extends Data {
32
27
  * };
33
28
  * const res = await milvusClient.createIndex(createIndexReq);
34
29
  * console.log(res);
30
+ *
31
+ * // or
32
+ * const createIndexesReq = [
33
+ * {
34
+ * collection_name: 'my_collection',
35
+ * field_name: 'vector_01',
36
+ * index_name: 'my_index',
37
+ * index_type: 'IVF_FLAT',
38
+ * metric_type: 'IP',
39
+ * params: { nlist: 10 },
40
+ * },
41
+ * {
42
+ * collection_name: 'my_collection',
43
+ * field_name: 'int16',
44
+ * index_name: 'number_index',
45
+ * index_type: 'STL_SORT',
46
+ * },
47
+ * {
48
+ * collection_name: 'my_collection',
49
+ * field_name: 'varChar',
50
+ * index_name: 'varchar_index',
51
+ * index_type: 'TRIE',
52
+ * },
53
+ * ];
54
+ * const res = await milvusClient.createIndex(createIndexReq);
55
+ * console.log(res);
35
56
  * ```
36
57
  */
37
- createIndex(data: CreateIndexReq | CreateIndexSimpleReq): Promise<ResStatus>;
58
+ createIndex(data: CreateIndexesReq): Promise<ResStatus>;
59
+ _createIndex(data: CreateIndexRequest): Promise<ResStatus>;
38
60
  /**
39
- * Show index information. Current release of Milvus only supports showing latest built index.
61
+ * Displays index information. The current release of Milvus only supports displaying the most recently built index.
40
62
  *
41
- * @param data
42
- * | Property | Type | Description |
43
- * | :-- | :-- | :-- |
44
- * | collection_name | String | Collection name |
45
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
63
+ * @param {Object} data - An object with the following properties:
64
+ * @param {string} data.collection_name - The name of the collection.
65
+ * @param {string} [data.field_name] - The name of the field (optional).
66
+ * @param {string} [data.index_name] - The name of the index (optional).
67
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client will continue to wait until the server responds or an error occurs. The default is undefined.
46
68
  *
47
- * @returns
48
- * | Property | Description |
49
- * | :-- | :-- |
50
- * | status | { error_code: number, reason: string } |
51
- * | index_descriptions | Index information |
69
+ * @returns {Promise<DescribeIndexResponse>} A Promise that resolves to an object with the following properties:
70
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string).
71
+ * @returns {Array<Object>} return.index_descriptions - Information about the index.
52
72
  *
53
73
  * @example
54
74
  * ```
@@ -61,26 +81,48 @@ export declare class Index extends Data {
61
81
  * ```
62
82
  */
63
83
  describeIndex(data: DescribeIndexReq): Promise<DescribeIndexResponse>;
84
+ /**
85
+ * Retrieves a list of index names for a given collection. The current release of Milvus only supports listing indexes for the most recently built index.
86
+ *
87
+ * @param {Object} data - An object with the following properties:
88
+ * @param {string} data.collection_name - The name of the collection.
89
+ * @param {string} [data.field_name] - The name of the field (optional).
90
+ * @param {string} [data.index_name] - The name of the index (optional).
91
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client will continue to wait until the server responds or an error occurs. The default is undefined.
92
+ *
93
+ * @returns {Promise<ListIndexResponse>} A Promise that resolves to an array of strings representing the names of indexes associated with the specified collection.
94
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string).
95
+ * @returns {Array<string>} return.string - index names
96
+ *
97
+ * @example
98
+ * ```
99
+ * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
100
+ * const listIndexReq = {
101
+ * collection_name: 'my_collection',
102
+ * };
103
+ * const indexNames = await milvusClient.listIndex(listIndexReq);
104
+ * console.log(indexNames);
105
+ * ```
106
+ */
107
+ listIndexes(data: DescribeIndexReq): Promise<ListIndexResponse>;
64
108
  /**
65
109
  * Get the index building state.
66
110
  *
67
- * @param data
68
- * | Property | Type | Description |
69
- * | :-- | :-- | :-- |
70
- * | collection_name | string | Collection name |
71
- * | timeout? | number | An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or an error occurs. Default is undefined |
111
+ * @param {Object} data - An object with the following properties:
112
+ * @param {string} data.collection_name - The name of the collection for which the index state is to be retrieved.
113
+ * @param {string} [data.field_name] - The name of the field for which the index state is to be retrieved.
114
+ * @param {string} [data.index_name] - The name of the index for which the state is to be retrieved.
72
115
  *
73
- * @returns
74
- * | Property | Description |
75
- * | :-- | :-- |
76
- * | status | { error_code: number, reason: string } |
77
- * | state | Index building state |
116
+ * @returns {Promise<GetIndexStateResponse>} A Promise that resolves to an object with the following properties:
117
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string) indicating the status of the request.
118
+ * @returns {string} return.state - The state of the index building process.
78
119
  *
79
120
  * @example
80
121
  * ```
81
122
  * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
82
123
  * const getIndexStateReq = {
83
124
  * collection_name: 'my_collection',
125
+ * index_name: 'my_index',
84
126
  * };
85
127
  * const res = await milvusClient.getIndexState(getIndexStateReq);
86
128
  * console.log(res);
@@ -88,28 +130,25 @@ export declare class Index extends Data {
88
130
  */
89
131
  getIndexState(data: GetIndexStateReq): Promise<GetIndexStateResponse>;
90
132
  /**
91
- * Show index building progress.
92
- *
93
- * @param data
94
- * | Property | Type | Description |
95
- * | :-- | :-- | :-- |
96
- * | collection_name | String | Collection name |
97
- * | field_name | String | Field name |
98
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
99
- *
100
- * @returns
101
- * | Property | Description |
102
- * | :-- | :-- |
103
- * | status | { error_code: number, reason: string } |
104
- * | indexed_rows | Row count that successfully built with index |
105
- * | total_rows | Total row count |
133
+ * Get index building progress.
134
+ *
135
+ * @param {Object} data - The data for retrieving the index building progress.
136
+ * @param {string} data.collection_name - The name of the collection.
137
+ * @param {string} [data.field_name] - The name of the field for which the index building progress is to be retrieved.
138
+ * @param {string} [data.index_name] - The name of the index for which the building progress is to be retrieved.
139
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined.
140
+ *
141
+ * @returns {Promise<Object>} A promise that resolves to an object with properties 'status', 'indexed_rows', and 'total_rows'.
142
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string) indicating the status of the request.
143
+ * @returns {number} return.indexed_rows - The number of rows that have been successfully indexed.
144
+ * @returns {number} return.total_rows - The total number of rows.
106
145
  *
107
146
  * @example
108
147
  * ```
109
148
  * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
110
149
  * const getIndexBuildProgressReq = {
111
150
  * collection_name: 'my_collection',
112
- * field_name: 'my_field',
151
+ * index_name: 'my_index',
113
152
  * };
114
153
  * const res = await milvusClient.getIndexBuildProgress(getIndexBuildProgressReq);
115
154
  * console.log(res);
@@ -119,29 +158,50 @@ export declare class Index extends Data {
119
158
  /**
120
159
  * Drop an index.
121
160
  *
122
- * @param data
123
- * | Property | Type | Description |
124
- * | :-- | :-- | :-- |
125
- * | collection_name | String | Collection name |
126
- * | field_name | String | Field name |
127
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
161
+ * @param {Object} data - The data for dropping the index.
162
+ * @param {string} data.collection_name - The name of the collection.
163
+ * @param {string} [data.field_name] - The name of the field for which the index is to be dropped.
164
+ * @param {string} [data.index_name] - The name of the index to be dropped.
165
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined.
128
166
  *
129
- * @returns
130
- * | Property | Description |
131
- * | :-- | :-- |
132
- * | error_code | Error code number |
133
- * | reason | Error cause |
167
+ * @returns {Promise<Object>} A promise that resolves to an object with properties 'error_code' and 'reason'.
168
+ * @returns {number} return.error_code - The error code number.
169
+ * @returns {string} return.reason - The cause of the error.
134
170
  *
135
171
  * @example
136
172
  * ```
137
173
  * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
138
174
  * const dropIndexReq = {
139
175
  * collection_name: 'my_collection',
140
- * field_name: 'my_field',
176
+ * index_name: 'my_index',
141
177
  * };
142
178
  * const res = await milvusClient.dropIndex(dropIndexReq);
143
179
  * console.log(res);
144
180
  * ```
145
181
  */
146
182
  dropIndex(data: DropIndexReq): Promise<ResStatus>;
183
+ /**
184
+ * Alters an existing index.
185
+ *
186
+ * @param {Object} data - The data for altering the index.
187
+ * @param {string} data.collection_name - The name of the collection.
188
+ * @param {Object} data.params - The new parameters for the index. For example, `{ nlist: number }`.
189
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or an error occurs. Default is undefined.
190
+ *
191
+ * @returns {Promise<ResStatus>} - A promise that resolves to a response status object.
192
+ * @returns {number} return.error_code - The error code number.
193
+ * @returns {string} return.reason - The cause of the error.
194
+ *
195
+ * @example
196
+ * ```
197
+ * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
198
+ * const alterIndexReq = {
199
+ * collection_name: 'my_collection',
200
+ * params: { nlist: 20 },
201
+ * };
202
+ * const res = await milvusClient.alterIndex(alterIndexReq);
203
+ * console.log(res);
204
+ * ```
205
+ */
206
+ alterIndex(data: AlterIndexReq): Promise<ResStatus>;
147
207
  }
@@ -14,22 +14,17 @@ const Data_1 = require("./Data");
14
14
  const __1 = require("../");
15
15
  class Index extends Data_1.Data {
16
16
  /**
17
- * Create an index on a vector field. Note that index building is an async progress.
18
- *
19
- * @param data
20
- * | Property | Type | Description |
21
- * | :-- | :-- | :-- |
22
- * | collection_name | String | Collection name |
23
- * | field_name | String | Field name |
24
- * | index_name | String | Index name is unique in one collection |
25
- * | extra_params | Object | Parameters: { index_type: string; metric_type: string; params: string; }; |
26
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
27
- *
28
- * @returns
29
- * | Property | Description |
30
- * | :-- | :-- |
31
- * | error_code | Error code number |
32
- * | reason | Error cause |
17
+ * Asynchronously creates an index on a field. Note that index building is an asynchronous process.
18
+ *
19
+ * @param {CreateIndexesReq | CreateIndexesReq[]} data - The data for creating the index. Can be an object or an array of objects.
20
+ * @param {string} data.collection_name - The name of the collection.
21
+ * @param {string} data.field_name - The name of the field.
22
+ * @param {string} data.index_name - The name of the index. It must be unique within a collection.
23
+ * @param {string} data.index_type - The type of the index.
24
+ * @param {string} data.metric_type - The type of the metric.
25
+ * @param {Object} data.params - The parameters for the index. For example, `{ nlist: number }`.
26
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or an error occurs. Default is undefined.
27
+ * @returns {Promise<ResStatus>} - A promise that resolves to a response status object.
33
28
  *
34
29
  * @example
35
30
  * ```
@@ -44,9 +39,51 @@ class Index extends Data_1.Data {
44
39
  * };
45
40
  * const res = await milvusClient.createIndex(createIndexReq);
46
41
  * console.log(res);
42
+ *
43
+ * // or
44
+ * const createIndexesReq = [
45
+ * {
46
+ * collection_name: 'my_collection',
47
+ * field_name: 'vector_01',
48
+ * index_name: 'my_index',
49
+ * index_type: 'IVF_FLAT',
50
+ * metric_type: 'IP',
51
+ * params: { nlist: 10 },
52
+ * },
53
+ * {
54
+ * collection_name: 'my_collection',
55
+ * field_name: 'int16',
56
+ * index_name: 'number_index',
57
+ * index_type: 'STL_SORT',
58
+ * },
59
+ * {
60
+ * collection_name: 'my_collection',
61
+ * field_name: 'varChar',
62
+ * index_name: 'varchar_index',
63
+ * index_type: 'TRIE',
64
+ * },
65
+ * ];
66
+ * const res = await milvusClient.createIndex(createIndexReq);
67
+ * console.log(res);
47
68
  * ```
48
69
  */
49
70
  createIndex(data) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ if (Array.isArray(data)) {
73
+ return yield Promise.all(data.map(item => this._createIndex(item))).then((responses) => {
74
+ if (responses.every(r => r.error_code === __1.ErrorCode.SUCCESS)) {
75
+ return responses[0];
76
+ }
77
+ else {
78
+ return responses.find(r => r.error_code !== __1.ErrorCode.SUCCESS);
79
+ }
80
+ });
81
+ }
82
+ return yield this._createIndex(data);
83
+ });
84
+ }
85
+ // private create index
86
+ _createIndex(data) {
50
87
  return __awaiter(this, void 0, void 0, function* () {
51
88
  (0, __1.checkCollectionName)(data);
52
89
  // build extra_params object
@@ -70,24 +107,22 @@ class Index extends Data_1.Data {
70
107
  createIndexParams.extra_params = (0, __1.parseToKeyValue)(extra_params);
71
108
  }
72
109
  // Call the 'CreateIndex' gRPC method and return the result
73
- const promise = yield (0, __1.promisify)(this.client, 'CreateIndex', createIndexParams, data.timeout || this.timeout);
110
+ const promise = yield (0, __1.promisify)(this.channelPool, 'CreateIndex', createIndexParams, data.timeout || this.timeout);
74
111
  return promise;
75
112
  });
76
113
  }
77
114
  /**
78
- * Show index information. Current release of Milvus only supports showing latest built index.
115
+ * Displays index information. The current release of Milvus only supports displaying the most recently built index.
79
116
  *
80
- * @param data
81
- * | Property | Type | Description |
82
- * | :-- | :-- | :-- |
83
- * | collection_name | String | Collection name |
84
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
117
+ * @param {Object} data - An object with the following properties:
118
+ * @param {string} data.collection_name - The name of the collection.
119
+ * @param {string} [data.field_name] - The name of the field (optional).
120
+ * @param {string} [data.index_name] - The name of the index (optional).
121
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client will continue to wait until the server responds or an error occurs. The default is undefined.
85
122
  *
86
- * @returns
87
- * | Property | Description |
88
- * | :-- | :-- |
89
- * | status | { error_code: number, reason: string } |
90
- * | index_descriptions | Index information |
123
+ * @returns {Promise<DescribeIndexResponse>} A Promise that resolves to an object with the following properties:
124
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string).
125
+ * @returns {Array<Object>} return.index_descriptions - Information about the index.
91
126
  *
92
127
  * @example
93
128
  * ```
@@ -102,30 +137,63 @@ class Index extends Data_1.Data {
102
137
  describeIndex(data) {
103
138
  return __awaiter(this, void 0, void 0, function* () {
104
139
  (0, __1.checkCollectionName)(data);
105
- const promise = yield (0, __1.promisify)(this.client, 'DescribeIndex', data, data.timeout || this.timeout);
140
+ const promise = yield (0, __1.promisify)(this.channelPool, 'DescribeIndex', data, data.timeout || this.timeout);
106
141
  return promise;
107
142
  });
108
143
  }
144
+ /**
145
+ * Retrieves a list of index names for a given collection. The current release of Milvus only supports listing indexes for the most recently built index.
146
+ *
147
+ * @param {Object} data - An object with the following properties:
148
+ * @param {string} data.collection_name - The name of the collection.
149
+ * @param {string} [data.field_name] - The name of the field (optional).
150
+ * @param {string} [data.index_name] - The name of the index (optional).
151
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client will continue to wait until the server responds or an error occurs. The default is undefined.
152
+ *
153
+ * @returns {Promise<ListIndexResponse>} A Promise that resolves to an array of strings representing the names of indexes associated with the specified collection.
154
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string).
155
+ * @returns {Array<string>} return.string - index names
156
+ *
157
+ * @example
158
+ * ```
159
+ * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
160
+ * const listIndexReq = {
161
+ * collection_name: 'my_collection',
162
+ * };
163
+ * const indexNames = await milvusClient.listIndex(listIndexReq);
164
+ * console.log(indexNames);
165
+ * ```
166
+ */
167
+ listIndexes(data) {
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ const describeIndexRes = this.describeIndex(data);
170
+ const indexes = (yield describeIndexRes).index_descriptions.map(index => {
171
+ return index.index_name;
172
+ });
173
+ return {
174
+ status: (yield describeIndexRes).status,
175
+ indexes: indexes,
176
+ };
177
+ });
178
+ }
109
179
  /**
110
180
  * Get the index building state.
111
181
  *
112
- * @param data
113
- * | Property | Type | Description |
114
- * | :-- | :-- | :-- |
115
- * | collection_name | string | Collection name |
116
- * | timeout? | number | An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or an error occurs. Default is undefined |
182
+ * @param {Object} data - An object with the following properties:
183
+ * @param {string} data.collection_name - The name of the collection for which the index state is to be retrieved.
184
+ * @param {string} [data.field_name] - The name of the field for which the index state is to be retrieved.
185
+ * @param {string} [data.index_name] - The name of the index for which the state is to be retrieved.
117
186
  *
118
- * @returns
119
- * | Property | Description |
120
- * | :-- | :-- |
121
- * | status | { error_code: number, reason: string } |
122
- * | state | Index building state |
187
+ * @returns {Promise<GetIndexStateResponse>} A Promise that resolves to an object with the following properties:
188
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string) indicating the status of the request.
189
+ * @returns {string} return.state - The state of the index building process.
123
190
  *
124
191
  * @example
125
192
  * ```
126
193
  * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
127
194
  * const getIndexStateReq = {
128
195
  * collection_name: 'my_collection',
196
+ * index_name: 'my_index',
129
197
  * };
130
198
  * const res = await milvusClient.getIndexState(getIndexStateReq);
131
199
  * console.log(res);
@@ -134,33 +202,30 @@ class Index extends Data_1.Data {
134
202
  getIndexState(data) {
135
203
  return __awaiter(this, void 0, void 0, function* () {
136
204
  (0, __1.checkCollectionName)(data);
137
- const promise = yield (0, __1.promisify)(this.client, 'GetIndexState', data, data.timeout || this.timeout);
205
+ const promise = yield (0, __1.promisify)(this.channelPool, 'GetIndexState', data, data.timeout || this.timeout);
138
206
  return promise;
139
207
  });
140
208
  }
141
209
  /**
142
- * Show index building progress.
143
- *
144
- * @param data
145
- * | Property | Type | Description |
146
- * | :-- | :-- | :-- |
147
- * | collection_name | String | Collection name |
148
- * | field_name | String | Field name |
149
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
150
- *
151
- * @returns
152
- * | Property | Description |
153
- * | :-- | :-- |
154
- * | status | { error_code: number, reason: string } |
155
- * | indexed_rows | Row count that successfully built with index |
156
- * | total_rows | Total row count |
210
+ * Get index building progress.
211
+ *
212
+ * @param {Object} data - The data for retrieving the index building progress.
213
+ * @param {string} data.collection_name - The name of the collection.
214
+ * @param {string} [data.field_name] - The name of the field for which the index building progress is to be retrieved.
215
+ * @param {string} [data.index_name] - The name of the index for which the building progress is to be retrieved.
216
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined.
217
+ *
218
+ * @returns {Promise<Object>} A promise that resolves to an object with properties 'status', 'indexed_rows', and 'total_rows'.
219
+ * @returns {Object} return.status - An object with properties 'error_code' (number) and 'reason' (string) indicating the status of the request.
220
+ * @returns {number} return.indexed_rows - The number of rows that have been successfully indexed.
221
+ * @returns {number} return.total_rows - The total number of rows.
157
222
  *
158
223
  * @example
159
224
  * ```
160
225
  * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
161
226
  * const getIndexBuildProgressReq = {
162
227
  * collection_name: 'my_collection',
163
- * field_name: 'my_field',
228
+ * index_name: 'my_index',
164
229
  * };
165
230
  * const res = await milvusClient.getIndexBuildProgress(getIndexBuildProgressReq);
166
231
  * console.log(res);
@@ -169,32 +234,29 @@ class Index extends Data_1.Data {
169
234
  getIndexBuildProgress(data) {
170
235
  return __awaiter(this, void 0, void 0, function* () {
171
236
  (0, __1.checkCollectionName)(data);
172
- const promise = yield (0, __1.promisify)(this.client, 'GetIndexBuildProgress', data, data.timeout || this.timeout);
237
+ const promise = yield (0, __1.promisify)(this.channelPool, 'GetIndexBuildProgress', data, data.timeout || this.timeout);
173
238
  return promise;
174
239
  });
175
240
  }
176
241
  /**
177
242
  * Drop an index.
178
243
  *
179
- * @param data
180
- * | Property | Type | Description |
181
- * | :-- | :-- | :-- |
182
- * | collection_name | String | Collection name |
183
- * | field_name | String | Field name |
184
- * | timeout? | number | An optional duration of time in millisecond to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined |
244
+ * @param {Object} data - The data for dropping the index.
245
+ * @param {string} data.collection_name - The name of the collection.
246
+ * @param {string} [data.field_name] - The name of the field for which the index is to be dropped.
247
+ * @param {string} [data.index_name] - The name of the index to be dropped.
248
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or error occurs. Default is undefined.
185
249
  *
186
- * @returns
187
- * | Property | Description |
188
- * | :-- | :-- |
189
- * | error_code | Error code number |
190
- * | reason | Error cause |
250
+ * @returns {Promise<Object>} A promise that resolves to an object with properties 'error_code' and 'reason'.
251
+ * @returns {number} return.error_code - The error code number.
252
+ * @returns {string} return.reason - The cause of the error.
191
253
  *
192
254
  * @example
193
255
  * ```
194
256
  * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
195
257
  * const dropIndexReq = {
196
258
  * collection_name: 'my_collection',
197
- * field_name: 'my_field',
259
+ * index_name: 'my_index',
198
260
  * };
199
261
  * const res = await milvusClient.dropIndex(dropIndexReq);
200
262
  * console.log(res);
@@ -203,7 +265,41 @@ class Index extends Data_1.Data {
203
265
  dropIndex(data) {
204
266
  return __awaiter(this, void 0, void 0, function* () {
205
267
  (0, __1.checkCollectionName)(data);
206
- const promise = yield (0, __1.promisify)(this.client, 'DropIndex', data, data.timeout || this.timeout);
268
+ const promise = yield (0, __1.promisify)(this.channelPool, 'DropIndex', data, data.timeout || this.timeout);
269
+ return promise;
270
+ });
271
+ }
272
+ /**
273
+ * Alters an existing index.
274
+ *
275
+ * @param {Object} data - The data for altering the index.
276
+ * @param {string} data.collection_name - The name of the collection.
277
+ * @param {Object} data.params - The new parameters for the index. For example, `{ nlist: number }`.
278
+ * @param {number} [data.timeout] - An optional duration of time in milliseconds to allow for the RPC. If it is set to undefined, the client keeps waiting until the server responds or an error occurs. Default is undefined.
279
+ *
280
+ * @returns {Promise<ResStatus>} - A promise that resolves to a response status object.
281
+ * @returns {number} return.error_code - The error code number.
282
+ * @returns {string} return.reason - The cause of the error.
283
+ *
284
+ * @example
285
+ * ```
286
+ * const milvusClient = new MilvusClient(MILUVS_ADDRESS);
287
+ * const alterIndexReq = {
288
+ * collection_name: 'my_collection',
289
+ * params: { nlist: 20 },
290
+ * };
291
+ * const res = await milvusClient.alterIndex(alterIndexReq);
292
+ * console.log(res);
293
+ * ```
294
+ */
295
+ alterIndex(data) {
296
+ return __awaiter(this, void 0, void 0, function* () {
297
+ (0, __1.checkCollectionName)(data);
298
+ const promise = yield (0, __1.promisify)(this.channelPool, 'AlterIndex', {
299
+ collection_name: data.collection_name,
300
+ index_name: data.index_name,
301
+ extra_params: (0, __1.parseToKeyValue)(data.params),
302
+ }, data.timeout || this.timeout);
207
303
  return promise;
208
304
  });
209
305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MilvusIndex.js","sourceRoot":"","sources":["../../../milvus/grpc/MilvusIndex.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAA8B;AAC9B,2BAca;AAEb,MAAa,KAAM,SAAQ,WAAI;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,WAAW,CACf,IAA2C;;YAE3C,IAAA,uBAAmB,EAAC,IAAI,CAAC,CAAC;YAE1B,4BAA4B;YAC5B,MAAM,YAAY,GACf,IAAuB,CAAC,YAAY,IAAK,EAA2B,CAAC;YAExE,8BAA8B;YAC9B,IAAK,IAA6B,CAAC,MAAM,EAAE;gBACzC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CACjC,IAA6B,CAAC,MAAM,CACtC,CAAC;aACH;YAED,+CAA+C;YAC/C,IAAK,IAA6B,CAAC,UAAU,EAAE;gBAC7C,YAAY,CAAC,UAAU,GAAI,IAA6B,CAAC,UAAU,CAAC;aACrE;YAED,gDAAgD;YAChD,IAAK,IAA6B,CAAC,WAAW,EAAE;gBAC9C,YAAY,CAAC,WAAW,GAAI,IAA6B,CAAC,WAAW,CAAC;aACvE;YAED,2BAA2B;YAC3B,MAAM,iBAAiB,mCAClB,IAAI,GACJ,YAAY,CAChB,CAAC;YAEF,+CAA+C;YAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,iBAAiB,CAAC,YAAY,GAAG,IAAA,mBAAe,EAAC,YAAY,CAAC,CAAC;aAChE;YAED,2DAA2D;YAC3D,MAAM,OAAO,GAAG,MAAM,IAAA,aAAS,EAC7B,IAAI,CAAC,MAAM,EACX,aAAa,EACb,iBAAiB,EACjB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAC7B,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,aAAa,CAAC,IAAsB;;YACxC,IAAA,uBAAmB,EAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAA,aAAS,EAC7B,IAAI,CAAC,MAAM,EACX,eAAe,EACf,IAAI,EACJ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAC7B,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,aAAa,CAAC,IAAsB;;YACxC,IAAA,uBAAmB,EAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAA,aAAS,EAC7B,IAAI,CAAC,MAAM,EACX,eAAe,EACf,IAAI,EACJ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAC7B,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,qBAAqB,CACzB,IAA8B;;YAE9B,IAAA,uBAAmB,EAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAA,aAAS,EAC7B,IAAI,CAAC,MAAM,EACX,uBAAuB,EACvB,IAAI,EACJ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAC7B,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,SAAS,CAAC,IAAkB;;YAChC,IAAA,uBAAmB,EAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAA,aAAS,EAC7B,IAAI,CAAC,MAAM,EACX,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAC7B,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CACF;AAvOD,sBAuOC"}
1
+ {"version":3,"file":"MilvusIndex.js","sourceRoot":"","sources":["../../../milvus/grpc/MilvusIndex.ts"],"names":[],"mappings":"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"}