Edit an Atlas Search Index
On this page
You can change the index definition of an existing Atlas Search index. You cannot rename an index; if you need to change an index's name, you must create a new index and delete the old one.
Permissions required
The following table shows the modes of access each role supports.
Role | Action | Atlas UI | Atlas API | Atlas Search API | Atlas CLI |
---|---|---|---|---|---|
Project Data Access Read Only or higher role | To view Atlas Search analyzers and indexes. | ✓ | ✓ | ||
Project Data Access Admin or higher role | To create and manage Atlas Search analyzers and indexes, and
assign the role to your API Key. | ✓ | ✓ | ✓ | ✓ |
Project Owner role | ✓ | ✓ | |||
Organization Owner role | To create access list entries for
your API Key and send the request from a client that appears in the
access list for your API Key. | ✓ | ✓ | ||
To create, view, edit, and delete Atlas Search indexes using the
Atlas UI or API. | ✓ | ✓ | ✓ |
Edit an Atlas Search Index Using the Atlas UI
Click and choose one of the following from the dropdown.
Edit with Visual Editor for a guided experience.
NoteThe Visual Editor doesn't support custom analyzers or synonym mapping definitions.
- Edit with JSON Editor to edit the raw index definition.
Review current configuration settings and edit them as needed.
If you are using the Visual Editor, configure the following settings:
Field NameDescriptionNecessityIndex AnalyzerOptionalSearch AnalyzerOptionalDynamic MappingSpecify dynamic or static mapping of fields. To disable dynamic mapping, set
"dynamic":
toOff
. By default, dynamic mapping is enabled. If you disable dynamic mapping, you must specify the fields to index. To learn more about dynamic and static mappings, see Review Atlas Search Index Syntax.Corresponds to the
mappings.dynamic
setting.RequiredStore Full DocumentNoteThe Atlas Search index storedSource option and
$search
returnStoredSource option are in preview, but can be used in production applications. If there are any syntax or behavior changes between the preview stage and general availability (GA), we will proactively communicate before introducing any breaking changes. The MongoDB Cloud Support team will help troubleshoot any issues related to using this feature as part of your contract.Specify whether to store entire documents on Atlas Search for query-time lookups. If this is enabled, Atlas Search stores all the fields in the documents by default. You can exclude specific fields from storage on Atlas Search in the Field Mappings definition for the fields. To learn more about storing fields, see Define Stored Source Fields in Your Atlas Search Index.
RequiredField MappingsRequired if dynamic mapping is disabled.
To add the fields to index, you must specify the following settings for each field:
- Field name - Name of the field to index.
- Enable Dynamic Mapping - Static or dynamic mapping to use. If you disable dynamic mapping, the data in the field isn't automatically indexed.
Store Original Value - Flag to store field on Atlas Search for query-time lookups. This is enabled by default if Store Full Document is enabled. However, you can toggle the setting to Off to exclude the field from storage. To learn more about storing fields, see Define Stored Source Fields in Your Atlas Search Index.
NoteThe Atlas Search index storedSource option and
$search
returnStoredSource option are in preview, but can be used in production applications. If there are any syntax or behavior changes between the preview stage and general availability (GA), we will proactively communicate before introducing any breaking changes. The MongoDB Cloud Support team will help troubleshoot any issues related to using this feature as part of your contract.- Data Type Configuration - Field data type. To learn more about the supported data types and their options, see BSON Data Types and Atlas Search Field Types.
NoteUnlike compound indexes, the order of fields in the Atlas Search index definition is not important. Fields can be defined in any order.
Corresponds to the
mappings.fields
setting.ConditionalIf you are using the JSON Editor, configure the following settings:
Field NameDescriptionNecessityanalyzer
OptionalsearchAnalyzer
Optionalmappings.dynamic
Specify dynamic or static mapping of fields. To disable dynamic mapping, set
"dynamic":
tofalse
. By default, dynamic mapping is enabled. If you disable dynamic mapping, you must specify the fields to index. To learn more about dynamic and static mappings, see Review Atlas Search Index Syntax.Requiredmappings.fields
Required if dynamic mapping is disabled.
Specify the fields that you would like to index. To learn more, see Define Field Mappings.
NoteUnlike compound indexes, the order of fields in the Atlas Search index definition is not important. Fields can be defined in any order.
ConditionalstoredSource
NotestoredSource
is only available on Atlas clusters running one of the following versions:- MongoDB 4.4.12+
- MongoDB 5.0.6+
Specify fields in the documents to store for query-time look-ups using the returnedStoredSource option. Value can be one of the following:
true
, to store all fieldsfalse
, to not store any fields- Object that specifies the
fields to
include
orexclude
from storage
If omitted, defaults to
false
. To learn more about the syntax and fields, see Define Stored Source Fields in Your Atlas Search Index.NoteYou can store fields of all BSON Data Types on Atlas Search.
Optionalsynonyms
Specify synonym mappings to use in your index. To learn more, see Define Synonym Mappings in Your Atlas Search Index.Optional
Click Save to apply the changes.
The index's status changes from Active to Building. In this state, you can continue to use the old index because Atlas Search does not delete the old index until the updated index is ready for use. Once the status returns to Active, the modified index is ready to use.
Edit an Atlas Search Index Using the Atlas Search API
To edit an Atlas Search index through the API, send a PATCH
request with
the ID
of the Atlas Search index that you wish to modity to the
fts/indexes/
endpoint. To learn more about the
syntax and parameters for this endpoint, see
Update an Atlas Search Index.
Edit an Atlas Search Index Using the Atlas CLI
To edit an Atlas Search index using the Atlas CLI, run the atlas clusters search indexes update
command. To learn more about the
syntax and options for the command, see atlas clusters search
indexes update.