Navigation

Update an Atlas Search Index

The fts resource allows you to retrieve and edit Atlas Search index configurations for the specified cluster.

The Atlas API uses HTTP Digest Authentication. Provide a programmatic API public key and corresponding private key as the username and password when constructing the HTTP request.

For complete documentation on configuring API access for an Atlas project, see Configure Atlas API Access.

Note

Groups and projects are synonymous terms. Your {GROUP-ID} is the same as your project ID. For existing groups, your group/project ID remains the same. The resource and corresponding endpoints use the term groups.

Base URL: https://cloud.mongodb.com/api/atlas/v1.0

Resource

PATCH /groups/{GROUP-ID}/clusters/{CLUSTER-NAME}/fts/indexes/{INDEX-ID}

Request Parameters

Request Path Parameters

Path Element Type Necessity Description
GROUP-ID string Required Unique identifier for the project that contains the specified cluster.
CLUSTER-NAME string Required Name of the cluster containing the collection with one or more Atlas Search indexes.
INDEX-ID string Required Unique identifier of the Atlas Search index. Use the Get All Atlas Search Indexes for a Collection API endpoint to find the IDs of all Atlas Search indexes.

Request Query Parameters

This endpoint may use any of the HTTP request query parameters available to all Atlas API resources. These are all optional.

Name Type Necessity Description Default
pageNum integer Optional Page number (1-based). 1
itemsPerPage integer Optional Maximum number of items to return, up to a maximum of 100. 100
pretty boolean Optional Indicates whether the response body should be in a prettyprint format. false
envelope boolean Optional

Indicates whether or not to wrap the response in an envelope.

Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query.

For endpoints that return a list of results, the results object is an envelope. Atlas adds the status field to the response body.

false

Request Body Parameters

Name Type Necessity Description
analyzer string Optional analyzer to use when creating the index. Defaults to lucene.standard.
collectionName string Required Name of the collection the index is on.
database string Required Name of the database the collection is in.
mappings object Required Object containing index specifications for the collection fields.
mappings
.dynamic
boolean Required Indicates whether the index uses dynamic or static mappings.
mappings
.fields
object Optional Object containing one or more field specifications. Required if mappings.dynamic is set to false.
name string Required Name of the index.
searchAnalyzer string Optional analyzer to use when searching the index. Defaults to lucene.standard.

Note

The name body parameter must contain the current name of the index. It can’t be changed.

Response Elements

The HTTP response returns a JSON document with an index definition for the updated index. An index definition contains the following elements:

Name Type Description
analyzer Optional analyzer to use when creating the index.
collectionName string Name of the collection the index is on.
database string Name of the database the collection is in.
indexID string Unique identifier for the index.
mappings object Object containing index specifications for the collection fields.
mappings
.dynamic
boolean Flag indicating whether the index uses dynamic or static mappings.
mappings
.fields
object Object containing one or more field specifications.
name string Name of the index.
searchAnalyzer string analyzer to use when searching the index.

Example Request

The following example request updates an existing index to use the specified parameters.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
     --header "Content-Type: application/json" \
     --include \
     --request PATCH "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/clusters/{CLUSTER-NAME}/fts/indexes/5d129aef87d9d64f310bd79f?pretty=true" \
     --data '
       {
         "collectionName": "orders",
         "analyzer": "lucene.swedish",
         "searchAnalyzer": "lucene.whitespace",
         "database": "fiscalYear2018",
         "mappings": {
           "dynamic": true
         },
         "name": "2018ordersIndex"
       }'

Example Response

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

The following example response contains an index definition for an index named 2018ordersIndex.

{
  "analyzer" : "lucene.swedish",
  "searchAnalyzer" : "lucene.whitespace",
  "collectionName" : "orders",
  "database" : "fiscalYear2018",
  "indexID" : "5d129aef87d9d64f310bd79f",
  "mappings" : {
    "dynamic" : true
  },
  "name" : "2018ordersIndex"
}