@@ -323,6 +323,93 @@ specification configured to span multiple cloud service providers:
323323 regionName: CENTRAL_US
324324 priority: 5
325325
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+
326413.. _atlasdeployment-crd-params:
327414
328415Parameters
@@ -337,7 +424,7 @@ parameters available.
337424- For a full list of available parameters for {+serverless-instances+},
338425 see the |service| :oas-atlas-tag:`{+Serverless-Instances+} API </Serverless-Instances>`.
339426
340- To customize your specifications, Refer to these descriptions, the available
427+ To customize your specifications, refer to these descriptions, the available
341428examples, and the |api| documentation.
342429
343430.. setting:: spec.backupRef
@@ -970,6 +1057,266 @@ examples, and the |api| documentation.
9701057 only if you set :setting:`spec.deploymentSpec.clusterType` to
9711058 ``GEOSHARDED``.
9721059
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+
9731320.. setting:: spec.deploymentSpec.tags
9741321
9751322 .. include:: /includes/fact-ak8so-tags.rst
0 commit comments