@@ -323,6 +323,93 @@ specification configured to span multiple cloud service providers:
323
323
regionName: CENTRAL_US
324
324
priority: 5
325
325
326
+ Search Index Example
327
+ ~~~~~~~~~~~~~~~~~~~~
328
+
329
+ The following example shows an ``AtlasDeployment`` custom resource
330
+ specification configured to create a search index for the collection
331
+ ``listingsAndReviews`` and ``grades``:
332
+
333
+ .. code-block::
334
+
335
+ apiVersion: atlas.mongodb.com/v1
336
+ kind: AtlasDeployment
337
+ metadata:
338
+ name: my-atlas-cluster
339
+ namespace: mongodb-atlas-system
340
+ spec:
341
+ deploymentSpec:
342
+ backupEnabled: true
343
+ clusterType: REPLICASET
344
+ name: Test-cluster-M10
345
+ replicationSpecs:
346
+ - regionConfigs:
347
+ - backingProviderName: AWS
348
+ electableSpecs:
349
+ instanceSize: M10
350
+ nodeCount: 3
351
+ priority: 7
352
+ providerName: AWS
353
+ regionName: US_EAST_1
354
+ zoneName: Zone 1
355
+ searchIndexes:
356
+ - DBName: sample_training
357
+ collectionName: grades
358
+ name: test-vector-search-index
359
+ type: vectorSearch
360
+ vectorSearch:
361
+ fields:
362
+ - numDimensions: 1000
363
+ path: student_id
364
+ similarity: euclidean
365
+ type: vector
366
+ - DBName: sample_airbnb
367
+ collectionName: listingsAndReviews
368
+ name: my-index
369
+ search:
370
+ mappings:
371
+ dynamic: true
372
+ searchConfigurationRef:
373
+ name: atlassearchindexconfig-sample
374
+ namespace: mongodb-atlas-system
375
+ type: search
376
+ terminationProtectionEnabled: false
377
+ projectRef:
378
+ name: my-project
379
+ namespace: mongodb-atlas-system
380
+
381
+ Search Nodes Example
382
+ ~~~~~~~~~~~~~~~~~~~~
383
+
384
+ The following example shows an ``AtlasDeployment`` custom resource
385
+ specification configured to create search nodes:
386
+
387
+ .. code-block::
388
+
389
+ apiVersion: atlas.mongodb.com/v1
390
+ kind: AtlasDeployment
391
+ metadata:
392
+ name: my-atlas-cluster
393
+ namespace: mongodb-atlas-system
394
+ spec:
395
+ deploymentSpec:
396
+ backupEnabled: true
397
+ clusterType: REPLICASET
398
+ name: Test-cluster-M10
399
+ replicationSpecs:
400
+ - regionConfigs:
401
+ - backingProviderName: AWS
402
+ electableSpecs:
403
+ instanceSize: M10
404
+ nodeCount: 3
405
+ priority: 7
406
+ providerName: AWS
407
+ regionName: US_EAST_1
408
+ zoneName: Zone 1
409
+ searchNodes:
410
+ - instanceSize: S20_HIGHCPU_NVME
411
+ nodeCount: 2
412
+
326
413
.. _atlasdeployment-crd-params:
327
414
328
415
Parameters
@@ -337,7 +424,7 @@ parameters available.
337
424
- For a full list of available parameters for {+serverless-instances+},
338
425
see the |service| :oas-atlas-tag:`{+Serverless-Instances+} API </Serverless-Instances>`.
339
426
340
- To customize your specifications, Refer to these descriptions, the available
427
+ To customize your specifications, refer to these descriptions, the available
341
428
examples, and the |api| documentation.
342
429
343
430
.. setting:: spec.backupRef
@@ -970,6 +1057,266 @@ examples, and the |api| documentation.
970
1057
only if you set :setting:`spec.deploymentSpec.clusterType` to
971
1058
``GEOSHARDED``.
972
1059
1060
+ .. setting:: spec.deploymentSpec.searchIndexes
1061
+
1062
+ *Type*: array
1063
+
1064
+ *Optional*
1065
+
1066
+ An array of ``SearchIndex`` objects with fields that describe the search index.
1067
+ Each ``SearchIndex`` object contains the following fields:
1068
+
1069
+ .. list-table::
1070
+ :header-rows: 1
1071
+
1072
+ * - Field
1073
+ - Type
1074
+ - Description
1075
+
1076
+ * - ``name``
1077
+ - string
1078
+ - Human-readable label that identifies this index. Must be unique for a deployment.
1079
+
1080
+ * - ``DBName``
1081
+ - string
1082
+ - Human-readable label that identifies the existing
1083
+ database that contains the collection with one or more |fts| indexes.
1084
+
1085
+ .. important::
1086
+
1087
+ The database that you specify must already exist. If you don't have an existing database,
1088
+ :atlas:`create one </create-connect-deployments/>`.
1089
+
1090
+ * - ``collectionName``
1091
+ - string
1092
+ - Human-readable label that identifies the collection that contains one or more |fts| indexes.
1093
+
1094
+ * - ``type``
1095
+ - string
1096
+ - Type of the index. |service| accepts the following values:
1097
+
1098
+ - ``search``
1099
+ - ``vectorSearch``
1100
+
1101
+ * - ``search``
1102
+ - object
1103
+ - You must include this object if ``type`` is ``search``. Otherwise, omit it.
1104
+
1105
+ * - ``vectorSearch``
1106
+ - object
1107
+ - You must include this object if ``type`` is ``vectorSearch``. Otherwise, omit it.
1108
+
1109
+ .. setting:: spec.deploymentSpec.searchIndexes.search
1110
+
1111
+ *Type*: object
1112
+
1113
+ *Optional*
1114
+
1115
+ .. list-table::
1116
+ :header-rows: 1
1117
+
1118
+ * - Field
1119
+ - Type
1120
+ - Description
1121
+
1122
+ * - ``synonyms``
1123
+ - array
1124
+ - Rule sets that map words to their synonyms in this index
1125
+
1126
+ * - ``mappings``
1127
+ - object
1128
+ - Index specifications for the collection's fields
1129
+
1130
+ *Required*
1131
+
1132
+ * - ``searchConfigurationRef``
1133
+ - object
1134
+ - A name/namespace reference to the AtlasSearchIndexConfig custom resource, described below.
1135
+
1136
+ *Required*
1137
+
1138
+ .. setting:: spec.deploymentSpec.searchIndexes.search.synonyms
1139
+
1140
+ *Type*: array
1141
+
1142
+ *Optional*
1143
+
1144
+ An array of ``Synonym`` objects with fields that describe rule sets that map words to their synonyms in this index.
1145
+ Each ``Synonym`` object contains the following fields:
1146
+
1147
+ .. list-table::
1148
+ :header-rows: 1
1149
+
1150
+ * - Field
1151
+ - Type
1152
+ - Description
1153
+
1154
+ * - ``name``
1155
+ - string
1156
+ - Human-readable label that identifies the synonym definition. Each name must be unique within the same index definition
1157
+
1158
+ *Required*
1159
+
1160
+ * - ``analyzer``
1161
+ - string
1162
+ - Specific pre-defined method chosen to apply to the synonyms to be searched.
1163
+ Possible values are:
1164
+
1165
+ - lucene.standard
1166
+ - lucene.standard
1167
+ - lucene.simple
1168
+ - lucene.whitespace
1169
+ - lucene.keyword
1170
+ - lucene.arabic
1171
+ - lucene.armenian
1172
+ - lucene.basque
1173
+ - lucene.bengali
1174
+ - lucene.brazilian
1175
+ - lucene.bulgarian
1176
+ - lucene.catalan
1177
+ - lucene.chinese
1178
+ - lucene.cjk
1179
+ - lucene.czech
1180
+ - lucene.danish
1181
+ - lucene.dutch
1182
+ - lucene.english
1183
+ - lucene.finnish
1184
+ - lucene.french
1185
+ - lucene.galician
1186
+ - lucene.german
1187
+ - lucene.greek
1188
+ - lucene.hindi
1189
+ - lucene.hungarian
1190
+ - lucene.indonesian
1191
+ - lucene.irish
1192
+ - lucene.italian
1193
+ - lucene.japanese
1194
+ - lucene.korean
1195
+ - lucene.kuromoji
1196
+ - lucene.latvian
1197
+ - lucene.lithuanian
1198
+ - lucene.morfologik
1199
+ - lucene.nori
1200
+ - lucene.norwegian
1201
+ - lucene.persian
1202
+ - lucene.portuguese
1203
+ - lucene.romanian
1204
+ - lucene.russian
1205
+ - lucene.smartcn
1206
+ - lucene.sorani
1207
+ - lucene.spanish
1208
+ - lucene.swedish
1209
+ - lucene.thai
1210
+ - lucene.turkish
1211
+ - lucene.ukrainian
1212
+
1213
+ *Required*
1214
+
1215
+ * - ``source``
1216
+ - object
1217
+ - Data set that stores the mapping one or more words map to one or more synonyms of those words
1218
+
1219
+ *Required*
1220
+
1221
+ .. setting:: spec.deploymentSpec.searchIndexes.search.synonyms.source
1222
+
1223
+ *Type*: object
1224
+
1225
+ *Required*
1226
+
1227
+ .. list-table::
1228
+ :header-rows: 1
1229
+
1230
+ * - Field
1231
+ - Type
1232
+ - Description
1233
+
1234
+ * - ``collection``
1235
+ - string
1236
+ - Human-readable label that identifies the MongoDB collection that stores words and their applicable synonyms
1237
+
1238
+ *Required*
1239
+
1240
+ .. setting:: spec.deploymentSpec.searchIndexes.search.mappings
1241
+
1242
+ *Type*: object
1243
+
1244
+ *Required*
1245
+
1246
+ An object with Index specifications for the collection's fields:
1247
+
1248
+ .. list-table::
1249
+ :header-rows: 1
1250
+
1251
+ * - ``dynamic``
1252
+ - boolean
1253
+ - Flag that indicates whether the index uses dynamic or static mappings. Required if mappings.fields is omitted.
1254
+
1255
+ * - ``fields``
1256
+ - JSON/YAML
1257
+ - One or more field specifications for the Atlas Search index. Required if mappings.dynamic is omitted or set to false.
1258
+
1259
+ .. setting:: spec.deploymentSpec.searchIndexes.vectorSearch
1260
+
1261
+ *Type*: object
1262
+
1263
+ *Optional*
1264
+
1265
+ .. list-table::
1266
+ :header-rows: 1
1267
+
1268
+ * - Field
1269
+ - Type
1270
+ - Description
1271
+
1272
+ * - ``fields``
1273
+ - JSON/YAML
1274
+ - Array of JSON objects. See examples https://dochub.mongodb.org/core/avs-vector-type
1275
+
1276
+ *Required*
1277
+
1278
+ .. setting:: spec.deploymentSpec.searchNodes
1279
+
1280
+ *Type*: array
1281
+
1282
+ *Optional*
1283
+
1284
+ An array of search nodes configurations. Each element contains two fields:
1285
+
1286
+ .. list-table::
1287
+ :header-rows: 1
1288
+
1289
+ * - Field
1290
+ - Type
1291
+ - Description
1292
+
1293
+ * - ``nodeCount``
1294
+ - integer
1295
+ - Number of search nodes in the cluster. |service| accepts values 2 through 32, inclusive.
1296
+ The default number is `2`.
1297
+
1298
+ * - ``instanceSize``
1299
+ - string
1300
+ - Hardware specification for the search node instance sizes.
1301
+ |service| accepts one of the following:
1302
+
1303
+ - ``S20_HIGHCPU_NVME``
1304
+ - ``S30_HIGHCPU_NVME``
1305
+ - ``S40_HIGHCPU_NVME``
1306
+ - ``S50_HIGHCPU_NVME``
1307
+ - ``S60_HIGHCPU_NVME``
1308
+ - ``S70_HIGHCPU_NVME``
1309
+ - ``S80_HIGHCPU_NVME``
1310
+ - ``S30_LOWCPU_NVME``
1311
+ - ``S40_LOWCPU_NVME``
1312
+ - ``S50_LOWCPU_NVME``
1313
+ - ``S60_LOWCPU_NVME``
1314
+ - ``S80_LOWCPU_NVME``
1315
+ - ``S90_LOWCPU_NVME``
1316
+ - ``S100_LOWCPU_NVME``
1317
+
1318
+ The default instance size is ``S20_HIGHCPU_NVME``.
1319
+
973
1320
.. setting:: spec.deploymentSpec.tags
974
1321
975
1322
.. include:: /includes/fact-ak8so-tags.rst
0 commit comments