Build an Index with Static Field Mappings
Overview
In this guide, you will learn how to index only specified fields in documents by creating an index with static field mappings. Static mappings allow you to independently index fields for specific use cases such as faceting.
Time required: 5 minutes
What You'll Need
A MongoDB account. See Sign Up for a MongoDB Account.
An Atlas cluster. See Create a Cluster.
Sample datasets loaded into your cluster.
Procedure
In Atlas, go to the Clusters page for your project.
Warning
Navigation Improvements In Progress
We're currently rolling out a new and improved navigation experience. If the following steps don't match your view in the Atlas UI, see the preview Atlas documentation.
If it's not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.
If it's not already displayed, select your desired project from the Projects menu in the navigation bar.
If it's not already displayed, click Clusters in the sidebar.
The Clusters page displays.
Create a static search index.
Go to the Atlas Search page for your cluster.
Warning
Navigation Improvements In Progress
We're currently rolling out a new and improved navigation experience. If the following steps don't match your view in the Atlas UI, see the preview Atlas documentation.
Click the cluster's name.
Click the Atlas Search tab.
The Atlas Search page displays.
Click Create Index.
Select the Visual Editor configuration method, then click Next.
For the Database and Collection, select the
sample_supplies database and the sales collection.
Then, click Next.
Click Refine Your Index in the bottom left. Then, in the Index Configurations pane, toggle off Dynamic Mapping.
In the Field Mappings pane, click
Add Field Mapping. In the modal window, select
storeLocation from the Field Name dropdown
menu.
From the Data Type dropdown menu, select
String. Leave the Index Configurations
values unchanged, and click Add at the bottom
of the modal window.
Run a query on your index.
On the Search Tester page, type
London into the search bar, then click
Search.
Review the results.
This query returns all documents in the sales collection with
a storeLocation of London. Your results should resemble
the following sample documents:
SCORE: 0.8888952136039734 salesDate: 2017-12-03T18:39:48.253+00:00 items: Array storeLocation: "London" SCORE: 0.8888952136039734 salesDate: 2015-05-15T13:43:24.561+00:00 items: Array storeLocation: "London" SCORE: 0.8888952136039734 salesDate: 2016-02-06T09:35:02.820+00:00 items: Array storeLocation: "London"
Each record also includes a relevance score.
You can expand Array and Object fields to view their
contents by clicking on them.
Click Edit Query Syntax. The modal window displays the query sent through the Atlas Search API.
Type online into the search bar, then click
Search.
Even though some records include the string online in the
purchaseMethod field, no records appear. The index only has
a mapping for the storeLocation field, which means that
Atlas Search only returns records with matching values in the
storeLocation field.
Summary
If you successfully completed the procedure in this guide, you have created an Atlas Search index with a static field mapping and used it to perform a targeted relevance-based search. In the next guide, you will learn how to perform compound searches against specific fields using the aggregation pipeline.
Retrieve documents in MongoDB with a query on multiple fields.
