Create and Run Atlas Search Queries
After you create an Atlas Search index on the collection for all fields that you want to search, you can create and run an Atlas Search query by performing the following steps:
Construct your Atlas Search query.
Select an aggregation pipeline stage.
Select a tab corresponding to the aggregation pipeline stage you want to use:
You can use the $search aggregation pipeline to perform a full-text search of the indexed fields for data that matches your query.
{ $search: { "index": "<index-name>", ... } }
You can use the $searchMeta aggregation pipeline stage to return metadata about your search results.
{ $searchMeta: { "index": "<index-name>", ... } }
Specify operators.
Select one or more operators or collectors to perform a specific search on your collection.
{ $search: { "index": "<index-name>", "<operator-name>": { <operator-specifications> }, } }
{ $searchMeta: { "index": "<index-name>", "<operator-name>"|"<collector-name>": { <operator-specifications>|<collector-specifications> } } }
(Optional) Retrieve additional information about your Atlas Search query.
Specify one or more options to adjust your Atlas Search query results.
{ $search: { "index": "<index-name>", "<operator-name>": { <operator-specifications> }, "highlight": { <highlight-options> } } }
You can adjust your search results in the following ways:
Option | Use Case |
---|---|
Modify the score of the documents in the results to ensure Atlas Search returns relevant results. | |
Retrieve a detailed breakdown of the score
for each document Atlas Search returns. | |
Display your search terms in their original
context as fields in your query result. | |
Retrieve information and execution statistics about
which Lucene queries Atlas Search executed to satify your
query, and how much time your query spends in the
various stages of execution. | |
Run your Atlas Search query more efficiently by only retrieving
fields stored on mongot as specified in your Atlas Search index definition for a collection. | |
Display the number of results from your Atlas Search query. | |
Sort your Atlas Search query results by number, string, and date fields and by score. |
Return metadata, such as the number of results, along with your Atlas Search query.
{ $searchMeta: { "index": "<index-name>", "<operator-name>": { <operator-specifications> }, "count": { <count-options> } } }
Run your Atlas Search query.
Review your Atlas Search query syntax and then run it in
your application using a driver,
mongosh
, Compass,
or the Search Tester.
Note
If you are experiencing issues with your Atlas Search $search
queries, see Troubleshoot Atlas Search Errors.