couchbase 4.2.10 → 4.2.11-rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/deps/couchbase-cxx-client/core/bucket.cxx +23 -8
  2. package/deps/couchbase-cxx-client/core/bucket.hxx +1 -0
  3. package/deps/couchbase-cxx-client/core/cluster.cxx +29 -3
  4. package/deps/couchbase-cxx-client/core/impl/collection.cxx +2 -2
  5. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +6 -6
  6. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +7 -1
  7. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +10 -0
  8. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +24 -1
  9. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +1 -0
  10. package/deps/couchbase-cxx-client/core/management/design_document.hxx +1 -1
  11. package/deps/couchbase-cxx-client/core/meta/features.hxx +16 -1
  12. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +1 -1
  13. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +1 -1
  14. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +2 -2
  15. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +10 -10
  16. package/deps/couchbase-cxx-client/core/operations/document_view.cxx +3 -0
  17. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  18. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +24 -13
  19. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -1
  20. package/deps/couchbase-cxx-client/core/origin.cxx +14 -0
  21. package/deps/couchbase-cxx-client/core/origin.hxx +6 -0
  22. package/deps/couchbase-cxx-client/core/protocol/status.cxx +2 -0
  23. package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
  24. package/deps/couchbase-cxx-client/core/topology/capabilities.hxx +70 -1
  25. package/deps/couchbase-cxx-client/core/topology/capabilities_fmt.hxx +30 -2
  26. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +1 -34
  27. package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +2 -2
  28. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +43 -20
  29. package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +5 -0
  30. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +80 -11
  31. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -1
  32. package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
  33. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +6 -8
  34. package/dist/binding.d.ts +24 -2
  35. package/dist/bindingutilities.d.ts +11 -3
  36. package/dist/bindingutilities.js +33 -7
  37. package/dist/couchbase.d.ts +1 -0
  38. package/dist/couchbase.js +1 -0
  39. package/dist/queryindexmanager.d.ts +4 -4
  40. package/dist/queryindexmanager.js +7 -7
  41. package/dist/scope.d.ts +21 -0
  42. package/dist/scope.js +34 -0
  43. package/dist/scopesearchindexmanager.d.ts +116 -0
  44. package/dist/scopesearchindexmanager.js +406 -0
  45. package/dist/sdspecs.js +10 -9
  46. package/dist/sdutils.d.ts +1 -0
  47. package/dist/sdutils.js +4 -0
  48. package/dist/searchexecutor.d.ts +3 -1
  49. package/dist/searchexecutor.js +9 -2
  50. package/dist/searchindexmanager.d.ts +58 -3
  51. package/dist/searchindexmanager.js +188 -104
  52. package/dist/viewexecutor.js +13 -9
  53. package/dist/viewindexmanager.d.ts +70 -7
  54. package/dist/viewindexmanager.js +236 -103
  55. package/dist/viewtypes.d.ts +26 -0
  56. package/dist/viewtypes.js +17 -1
  57. package/package.json +7 -7
  58. package/src/constants.cpp +1 -0
  59. package/src/jstocbpp_autogen.hpp +89 -6
@@ -0,0 +1,406 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeSearchIndexManager = void 0;
4
+ const utilities_1 = require("./utilities");
5
+ const bindingutilities_1 = require("./bindingutilities");
6
+ const searchindexmanager_1 = require("./searchindexmanager");
7
+ /**
8
+ * SearchIndexManager provides an interface for managing the
9
+ * search indexes on the cluster.
10
+ *
11
+ * Volatile: This API is subject to change at any time.
12
+ *
13
+ * @category Management
14
+ */
15
+ class ScopeSearchIndexManager {
16
+ /**
17
+ * @internal
18
+ */
19
+ constructor(cluster, bucketName, scopeName) {
20
+ this._cluster = cluster;
21
+ this._bucketName = bucketName;
22
+ this._scopeName = scopeName;
23
+ }
24
+ /**
25
+ * Returns an index by it's name.
26
+ *
27
+ * @param indexName The index to retrieve.
28
+ * @param options Optional parameters for this operation.
29
+ * @param callback A node-style callback to be invoked after execution.
30
+ */
31
+ async getIndex(indexName, options, callback) {
32
+ if (options instanceof Function) {
33
+ callback = arguments[1];
34
+ options = undefined;
35
+ }
36
+ if (!options) {
37
+ options = {};
38
+ }
39
+ const timeout = options.timeout || this._cluster.managementTimeout;
40
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
41
+ this._cluster.conn.managementSearchIndexGet({
42
+ index_name: indexName,
43
+ timeout: timeout,
44
+ bucket_name: this._bucketName,
45
+ scope_name: this._scopeName,
46
+ }, (cppErr, resp) => {
47
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
48
+ if (err) {
49
+ return wrapCallback(err, null);
50
+ }
51
+ const index = searchindexmanager_1.SearchIndex._fromCppData(resp.index);
52
+ wrapCallback(null, index);
53
+ });
54
+ }, callback);
55
+ }
56
+ /**
57
+ * Returns a list of all existing indexes.
58
+ *
59
+ * @param options Optional parameters for this operation.
60
+ * @param callback A node-style callback to be invoked after execution.
61
+ */
62
+ async getAllIndexes(options, callback) {
63
+ if (options instanceof Function) {
64
+ callback = arguments[0];
65
+ options = undefined;
66
+ }
67
+ if (!options) {
68
+ options = {};
69
+ }
70
+ const timeout = options.timeout || this._cluster.managementTimeout;
71
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
72
+ this._cluster.conn.managementSearchIndexGetAll({
73
+ timeout: timeout,
74
+ bucket_name: this._bucketName,
75
+ scope_name: this._scopeName,
76
+ }, (cppErr, resp) => {
77
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
78
+ if (err) {
79
+ return wrapCallback(err, null);
80
+ }
81
+ const indexes = resp.indexes.map((indexData) => searchindexmanager_1.SearchIndex._fromCppData(indexData));
82
+ wrapCallback(null, indexes);
83
+ });
84
+ }, callback);
85
+ }
86
+ /**
87
+ * Creates or updates an existing index.
88
+ *
89
+ * @param indexDefinition The index to update.
90
+ * @param options Optional parameters for this operation.
91
+ * @param callback A node-style callback to be invoked after execution.
92
+ */
93
+ async upsertIndex(indexDefinition, options, callback) {
94
+ if (options instanceof Function) {
95
+ callback = arguments[1];
96
+ options = undefined;
97
+ }
98
+ if (!options) {
99
+ options = {};
100
+ }
101
+ const timeout = options.timeout || this._cluster.managementTimeout;
102
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
103
+ this._cluster.conn.managementSearchIndexUpsert({
104
+ index: searchindexmanager_1.SearchIndex._toCppData(indexDefinition),
105
+ timeout: timeout,
106
+ bucket_name: this._bucketName,
107
+ scope_name: this._scopeName,
108
+ }, (cppErr) => {
109
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
110
+ if (err) {
111
+ return wrapCallback(err, null);
112
+ }
113
+ wrapCallback(err);
114
+ });
115
+ }, callback);
116
+ }
117
+ /**
118
+ * Drops an index.
119
+ *
120
+ * @param indexName The name of the index to drop.
121
+ * @param options Optional parameters for this operation.
122
+ * @param callback A node-style callback to be invoked after execution.
123
+ */
124
+ async dropIndex(indexName, options, callback) {
125
+ if (options instanceof Function) {
126
+ callback = arguments[1];
127
+ options = undefined;
128
+ }
129
+ if (!options) {
130
+ options = {};
131
+ }
132
+ const timeout = options.timeout || this._cluster.managementTimeout;
133
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
134
+ this._cluster.conn.managementSearchIndexDrop({
135
+ index_name: indexName,
136
+ timeout: timeout,
137
+ bucket_name: this._bucketName,
138
+ scope_name: this._scopeName,
139
+ }, (cppErr) => {
140
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
141
+ if (err) {
142
+ return wrapCallback(err, null);
143
+ }
144
+ wrapCallback(err);
145
+ });
146
+ }, callback);
147
+ }
148
+ /**
149
+ * Returns the number of documents that have been indexed.
150
+ *
151
+ * @param indexName The name of the index to return the count for.
152
+ * @param options Optional parameters for this operation.
153
+ * @param callback A node-style callback to be invoked after execution.
154
+ */
155
+ async getIndexedDocumentsCount(indexName, options, callback) {
156
+ if (options instanceof Function) {
157
+ callback = arguments[1];
158
+ options = undefined;
159
+ }
160
+ if (!options) {
161
+ options = {};
162
+ }
163
+ const timeout = options.timeout || this._cluster.managementTimeout;
164
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
165
+ this._cluster.conn.managementSearchIndexGetDocumentsCount({
166
+ index_name: indexName,
167
+ timeout: timeout,
168
+ bucket_name: this._bucketName,
169
+ scope_name: this._scopeName,
170
+ }, (cppErr, resp) => {
171
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
172
+ if (err) {
173
+ return wrapCallback(err, null);
174
+ }
175
+ wrapCallback(null, resp.count);
176
+ });
177
+ }, callback);
178
+ }
179
+ /**
180
+ * Pauses the ingestion of documents into an index.
181
+ *
182
+ * @param indexName The name of the index to pause.
183
+ * @param options Optional parameters for this operation.
184
+ * @param callback A node-style callback to be invoked after execution.
185
+ */
186
+ async pauseIngest(indexName, options, callback) {
187
+ if (options instanceof Function) {
188
+ callback = arguments[1];
189
+ options = undefined;
190
+ }
191
+ if (!options) {
192
+ options = {};
193
+ }
194
+ const timeout = options.timeout || this._cluster.managementTimeout;
195
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
196
+ this._cluster.conn.managementSearchIndexControlIngest({
197
+ index_name: indexName,
198
+ pause: true,
199
+ timeout: timeout,
200
+ bucket_name: this._bucketName,
201
+ scope_name: this._scopeName,
202
+ }, (cppErr) => {
203
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
204
+ if (err) {
205
+ return wrapCallback(err, null);
206
+ }
207
+ wrapCallback(err);
208
+ });
209
+ }, callback);
210
+ }
211
+ /**
212
+ * Resumes the ingestion of documents into an index.
213
+ *
214
+ * @param indexName The name of the index to resume.
215
+ * @param options Optional parameters for this operation.
216
+ * @param callback A node-style callback to be invoked after execution.
217
+ */
218
+ async resumeIngest(indexName, options, callback) {
219
+ if (options instanceof Function) {
220
+ callback = arguments[1];
221
+ options = undefined;
222
+ }
223
+ if (!options) {
224
+ options = {};
225
+ }
226
+ const timeout = options.timeout || this._cluster.managementTimeout;
227
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
228
+ this._cluster.conn.managementSearchIndexControlIngest({
229
+ index_name: indexName,
230
+ pause: false,
231
+ timeout: timeout,
232
+ bucket_name: this._bucketName,
233
+ scope_name: this._scopeName,
234
+ }, (cppErr) => {
235
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
236
+ if (err) {
237
+ return wrapCallback(err, null);
238
+ }
239
+ wrapCallback(err);
240
+ });
241
+ }, callback);
242
+ }
243
+ /**
244
+ * Enables querying of an index.
245
+ *
246
+ * @param indexName The name of the index to enable querying for.
247
+ * @param options Optional parameters for this operation.
248
+ * @param callback A node-style callback to be invoked after execution.
249
+ */
250
+ async allowQuerying(indexName, options, callback) {
251
+ if (options instanceof Function) {
252
+ callback = arguments[1];
253
+ options = undefined;
254
+ }
255
+ if (!options) {
256
+ options = {};
257
+ }
258
+ const timeout = options.timeout || this._cluster.managementTimeout;
259
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
260
+ this._cluster.conn.managementSearchIndexControlQuery({
261
+ index_name: indexName,
262
+ allow: true,
263
+ timeout: timeout,
264
+ bucket_name: this._bucketName,
265
+ scope_name: this._scopeName,
266
+ }, (cppErr) => {
267
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
268
+ if (err) {
269
+ return wrapCallback(err, null);
270
+ }
271
+ wrapCallback(err);
272
+ });
273
+ }, callback);
274
+ }
275
+ /**
276
+ * Disables querying of an index.
277
+ *
278
+ * @param indexName The name of the index to disable querying for.
279
+ * @param options Optional parameters for this operation.
280
+ * @param callback A node-style callback to be invoked after execution.
281
+ */
282
+ async disallowQuerying(indexName, options, callback) {
283
+ if (options instanceof Function) {
284
+ callback = arguments[1];
285
+ options = undefined;
286
+ }
287
+ if (!options) {
288
+ options = {};
289
+ }
290
+ const timeout = options.timeout || this._cluster.managementTimeout;
291
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
292
+ this._cluster.conn.managementSearchIndexControlQuery({
293
+ index_name: indexName,
294
+ allow: false,
295
+ timeout: timeout,
296
+ bucket_name: this._bucketName,
297
+ scope_name: this._scopeName,
298
+ }, (cppErr) => {
299
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
300
+ if (err) {
301
+ return wrapCallback(err, null);
302
+ }
303
+ wrapCallback(err);
304
+ });
305
+ }, callback);
306
+ }
307
+ /**
308
+ * Freezes the indexing plan for execution of queries.
309
+ *
310
+ * @param indexName The name of the index to freeze the plan of.
311
+ * @param options Optional parameters for this operation.
312
+ * @param callback A node-style callback to be invoked after execution.
313
+ */
314
+ async freezePlan(indexName, options, callback) {
315
+ if (options instanceof Function) {
316
+ callback = arguments[1];
317
+ options = undefined;
318
+ }
319
+ if (!options) {
320
+ options = {};
321
+ }
322
+ const timeout = options.timeout || this._cluster.managementTimeout;
323
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
324
+ this._cluster.conn.managementSearchIndexControlPlanFreeze({
325
+ index_name: indexName,
326
+ freeze: true,
327
+ timeout: timeout,
328
+ bucket_name: this._bucketName,
329
+ scope_name: this._scopeName,
330
+ }, (cppErr) => {
331
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
332
+ if (err) {
333
+ return wrapCallback(err, null);
334
+ }
335
+ wrapCallback(err);
336
+ });
337
+ }, callback);
338
+ }
339
+ /**
340
+ * Unfreezes the indexing plan for execution of queries.
341
+ *
342
+ * @param indexName The name of the index to freeze the plan of.
343
+ * @param options Optional parameters for this operation.
344
+ * @param callback A node-style callback to be invoked after execution.
345
+ */
346
+ async unfreezePlan(indexName, options, callback) {
347
+ if (options instanceof Function) {
348
+ callback = arguments[1];
349
+ options = undefined;
350
+ }
351
+ if (!options) {
352
+ options = {};
353
+ }
354
+ const timeout = options.timeout || this._cluster.managementTimeout;
355
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
356
+ this._cluster.conn.managementSearchIndexControlPlanFreeze({
357
+ index_name: indexName,
358
+ freeze: false,
359
+ timeout: timeout,
360
+ bucket_name: this._bucketName,
361
+ scope_name: this._scopeName,
362
+ }, (cppErr) => {
363
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
364
+ if (err) {
365
+ return wrapCallback(err, null);
366
+ }
367
+ wrapCallback(err);
368
+ });
369
+ }, callback);
370
+ }
371
+ /**
372
+ * Performs analysis of a specific document by an index.
373
+ *
374
+ * @param indexName The name of the index to use for the analysis.
375
+ * @param document The document to analyze.
376
+ * @param options Optional parameters for this operation.
377
+ * @param callback A node-style callback to be invoked after execution.
378
+ */
379
+ async analyzeDocument(indexName, document, options, callback) {
380
+ if (options instanceof Function) {
381
+ callback = arguments[2];
382
+ options = undefined;
383
+ }
384
+ if (!options) {
385
+ options = {};
386
+ }
387
+ const timeout = options.timeout || this._cluster.managementTimeout;
388
+ return utilities_1.PromiseHelper.wrap((wrapCallback) => {
389
+ this._cluster.conn.managementSearchIndexAnalyzeDocument({
390
+ index_name: indexName,
391
+ encoded_document: JSON.stringify(document),
392
+ timeout: timeout,
393
+ bucket_name: this._bucketName,
394
+ scope_name: this._scopeName,
395
+ }, (cppErr, resp) => {
396
+ const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
397
+ if (err) {
398
+ return wrapCallback(err, null);
399
+ }
400
+ const result = JSON.parse(resp.analysis);
401
+ wrapCallback(result, null);
402
+ });
403
+ }, callback);
404
+ }
405
+ }
406
+ exports.ScopeSearchIndexManager = ScopeSearchIndexManager;
package/dist/sdspecs.js CHANGED
@@ -81,19 +81,19 @@ class MutateInMacro {
81
81
  * A macro which references the cas of a document.
82
82
  */
83
83
  static get Cas() {
84
- return new MutateInMacro('${document.CAS}');
84
+ return new MutateInMacro('${Mutation.CAS}');
85
85
  }
86
86
  /**
87
87
  * A macro which references the seqno of a document.
88
88
  */
89
89
  static get SeqNo() {
90
- return new MutateInMacro('${document.seqno}');
90
+ return new MutateInMacro('${Mutation.seqno}');
91
91
  }
92
92
  /**
93
93
  * A macro which references the crc32 of the value of a document.
94
94
  */
95
95
  static get ValueCrc32c() {
96
- return new MutateInMacro('${document.value_crc32c}');
96
+ return new MutateInMacro('${Mutation.value_crc32c}');
97
97
  }
98
98
  }
99
99
  exports.MutateInMacro = MutateInMacro;
@@ -200,18 +200,19 @@ class MutateInSpec {
200
200
  options = {};
201
201
  }
202
202
  let flags = 0;
203
- if (value instanceof MutateInMacro) {
204
- value = value._value;
203
+ if (options.createPath) {
205
204
  flags |=
206
205
  binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag
207
- .expand_macros;
206
+ .create_parents;
208
207
  }
209
- if (options.createPath) {
208
+ if (value instanceof MutateInMacro) {
209
+ value = value._value;
210
210
  flags |=
211
211
  binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag
212
- .create_parents;
212
+ .expand_macros |
213
+ binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag.xattr;
213
214
  }
214
- if (options.xattr) {
215
+ else if (options.xattr) {
215
216
  flags |=
216
217
  binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag.xattr;
217
218
  }
package/dist/sdutils.d.ts CHANGED
@@ -4,4 +4,5 @@ export declare class SdUtils {
4
4
  static insertByPath(root: any, path: string, value: any): any;
5
5
  private static _getByPath;
6
6
  static getByPath(value: any, path: string): any;
7
+ static convertMacroCasToCas(cas: string): string;
7
8
  }
package/dist/sdutils.js CHANGED
@@ -100,5 +100,9 @@ class SdUtils {
100
100
  const parts = this._parsePath(path);
101
101
  return this._getByPath(value, parts);
102
102
  }
103
+ static convertMacroCasToCas(cas) {
104
+ const buf = Buffer.from(cas.startsWith('0x') ? cas.slice(2) : cas, 'hex');
105
+ return `0x${buf.reverse().toString('hex')}`;
106
+ }
103
107
  }
104
108
  exports.SdUtils = SdUtils;
@@ -7,10 +7,12 @@ import { StreamableRowPromise } from './streamablepromises';
7
7
  */
8
8
  export declare class SearchExecutor {
9
9
  private _cluster;
10
+ private _bucketName;
11
+ private _scopeName;
10
12
  /**
11
13
  * @internal
12
14
  */
13
- constructor(cluster: Cluster);
15
+ constructor(cluster: Cluster, bucketName?: string, scopeName?: string);
14
16
  /**
15
17
  * @internal
16
18
  */
@@ -13,8 +13,10 @@ class SearchExecutor {
13
13
  /**
14
14
  * @internal
15
15
  */
16
- constructor(cluster) {
16
+ constructor(cluster, bucketName, scopeName) {
17
17
  this._cluster = cluster;
18
+ this._bucketName = bucketName;
19
+ this._scopeName = scopeName;
18
20
  }
19
21
  /**
20
22
  * @internal
@@ -70,11 +72,16 @@ class SearchExecutor {
70
72
  request.show_request = false;
71
73
  if (query.vectorSearch) {
72
74
  request.vector_search = JSON.stringify(query.vectorSearch.queries);
73
- if (query.vectorSearch.options && query.vectorSearch.options.vectorQueryCombination) {
75
+ if (query.vectorSearch.options &&
76
+ query.vectorSearch.options.vectorQueryCombination) {
74
77
  request.vector_query_combination = (0, bindingutilities_1.vectorQueryCombinationToCpp)(query.vectorSearch.options.vectorQueryCombination);
75
78
  }
76
79
  }
77
80
  }
81
+ if (this._bucketName && this._scopeName) {
82
+ request.bucket_name = this._bucketName;
83
+ request.scope_name = this._scopeName;
84
+ }
78
85
  this._cluster.conn.search(request, (cppErr, resp) => {
79
86
  const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
80
87
  if (err) {
@@ -1,5 +1,6 @@
1
1
  import { Cluster } from './cluster';
2
2
  import { NodeCallback } from './utilities';
3
+ import { CppManagementSearchIndex } from './binding';
3
4
  /**
4
5
  * Provides information about a search index. This class is currently
5
6
  * incomplete and must be casted from `any` in TypeScript.
@@ -57,15 +58,62 @@ export interface ISearchIndex {
57
58
  *
58
59
  * @category Management
59
60
  */
60
- export declare class SearchIndex {
61
+ export declare class SearchIndex implements ISearchIndex {
62
+ /**
63
+ * The UUID of the search index. Used for updates to ensure consistency.
64
+ */
65
+ uuid?: string;
61
66
  /**
62
67
  * The name of the search index.
63
68
  */
64
69
  name: string;
70
+ /**
71
+ * Name of the source of the data (ie: the bucket name).
72
+ */
73
+ sourceName: string;
74
+ /**
75
+ * The type of index to use (fulltext-index or fulltext-alias).
76
+ */
77
+ type: string;
78
+ /**
79
+ * Parameters to specify such as the store type and mappins.
80
+ */
81
+ params: {
82
+ [key: string]: any;
83
+ };
84
+ /**
85
+ * The UUID of the data source.
86
+ */
87
+ sourceUuid: string;
88
+ /**
89
+ * Extra parameters for the source. These are usually things like advanced
90
+ * connection options and tuning parameters.
91
+ */
92
+ sourceParams: {
93
+ [key: string]: any;
94
+ };
95
+ /**
96
+ * The type of the source (couchbase or nil).
97
+ */
98
+ sourceType: string;
99
+ /**
100
+ * Plan properties such as the number of replicas and number of partitions.
101
+ */
102
+ planParams: {
103
+ [key: string]: any;
104
+ };
65
105
  /**
66
106
  * @internal
67
107
  */
68
108
  constructor(data: SearchIndex);
109
+ /**
110
+ * @internal
111
+ */
112
+ static _toCppData(data: ISearchIndex): any;
113
+ /**
114
+ * @internal
115
+ */
116
+ static _fromCppData(data: CppManagementSearchIndex): SearchIndex;
69
117
  }
70
118
  /**
71
119
  * @category Management
@@ -187,7 +235,6 @@ export declare class SearchIndexManager {
187
235
  * @internal
188
236
  */
189
237
  constructor(cluster: Cluster);
190
- private get _http();
191
238
  /**
192
239
  * Returns an index by it's name.
193
240
  *
@@ -267,6 +314,14 @@ export declare class SearchIndexManager {
267
314
  * @param callback A node-style callback to be invoked after execution.
268
315
  */
269
316
  freezePlan(indexName: string, options?: FreezeSearchPlanOptions, callback?: NodeCallback<void>): Promise<void>;
317
+ /**
318
+ * Unfreezes the indexing plan for execution of queries.
319
+ *
320
+ * @param indexName The name of the index to freeze the plan of.
321
+ * @param options Optional parameters for this operation.
322
+ * @param callback A node-style callback to be invoked after execution.
323
+ */
324
+ unfreezePlan(indexName: string, options?: UnfreezeSearchPlanOptions, callback?: NodeCallback<void>): Promise<void>;
270
325
  /**
271
326
  * Performs analysis of a specific document by an index.
272
327
  *
@@ -275,5 +330,5 @@ export declare class SearchIndexManager {
275
330
  * @param options Optional parameters for this operation.
276
331
  * @param callback A node-style callback to be invoked after execution.
277
332
  */
278
- analyzeDocument(indexName: string, document: any, options?: AnalyzeSearchDocumentOptions, callback?: NodeCallback<void>): Promise<void>;
333
+ analyzeDocument(indexName: string, document: any, options?: AnalyzeSearchDocumentOptions, callback?: NodeCallback<any>): Promise<any>;
279
334
  }