Review Atlas Search Index Syntax
Atlas Search can index data in different ways. When you define an Atlas Search index,
you can specify a particular analyzer or multiple analyzers to index
certain fields. To learn more, see Process Data with Analyzers. You can also
index certain fields and omit others, or you can dynamically index all
the fields in a collection. To learn more, see
Define Field Mappings. You can define Atlas Search indexes through the
Atlas UI, Atlas Search API, Atlas CLI,
mongosh
, or Drivers.
This page describes the JSON syntax and fields for an Atlas Search index.
Important
Syntax
1 { 2 "mappings": { 3 "dynamic": <boolean>, 4 "fields": { <field-definition> } 5 } 6 } 7
1 { 2 "analyzer": "<analyzer-for-index>", 3 "searchAnalyzer": "<analyzer-for-query>", 4 "mappings": { 5 "dynamic": <boolean>, 6 "fields": { <field-definition> } 7 }, 8 "analyzers": [ <custom-analyzer> ], 9 "storedSource": <boolean> | { 10 <stored-source-definition> 11 }, 12 "synonyms": [ 13 { 14 "name": "<synonym-mapping-name>", 15 "source": { 16 "collection": "<source-collection-name>" 17 }, 18 "analyzer": "<synonym-mapping-analyzer>" 19 } 20 ] 21 } 22
Options
Field | Type | Necessity | Description |
---|---|---|---|
analyzer | string | Optional | Specifies the analyzer to apply to
string fields when indexing. If you set this only at the top and
do not specify an analyzer for the fields in the index
definition, Atlas Search applies this analyzer to all the fields. To
use a different analyzer for each field, you must specify a
different analyzer for the field. If omitted, defaults to
Standard Analyzer. |
analyzers | array of Custom Analyzers | Optional | Specifies the Custom Analyzers to use in this index. |
mappings | Required | Specifies how to index fields at different paths for this
index. | |
mappings.dynamic | boolean | Optional | Enables or disables dynamic mapping of fields for this index. If set to If set to If omitted, defaults to ImportantAtlas Search dynamically indexes all fields in a To learn more, see index configuration example. |
mappings.fields | document | Conditional | Required only if dynamic mapping is disabled. Specifies the fields that you would like to index. To learn more, see Define Field Mappings. NoteYou can't index fields that contain the dollar ( |
searchAnalyzer | string | Optional | Specifies the analyzer to apply to query
text before searching with it. If omitted, defaults to the
analyzer that you specify for the analyzer option. If you
omit both the searchAnalyzer and the analyzer options,
defaults to the Standard Analyzer. |
storedSource | boolean or Stored Source Definition | Optional | Specifies fields in the documents to store for query-time look-ups using the returnedStoredSource option. You can store fields of all Data Types on Atlas Search. Value can be one of the following:
If omitted, defaults to Note
|
synonyms | array of Synonym Mapping Definition | Optional | Synonym mappings to use in your index. To learn more, see Define Synonym Mappings in Your Atlas Search Index. NoteAn index definition can have only one synonym mapping. |