Navigation

Update a Full Text Search Index

The Atlas API uses HTTP Digest Authentication. Provide your Atlas username and API 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

Syntax

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

Request Parameters

Request Path Parameters

Path Element Required/Optional Description
GROUP-ID Required The unique identifier for the project that contains the specified cluster.
CLUSTER-NAME Required The name of the cluster containing the collection with one or more Full Text Search indexes.
INDEX-ID Required The unique identifier of the Full Text Search index. Use the Get All Full Text Search Indexes for a Collection API endpoint to find the IDs of all Full Text Search indexes.

Request Query Parameters

The following query parameters are optional:

Name Type Description Default
pageNum integer Page number (1-based). 1
itemsPerPage integer Number of items to return per page, up to a maximum of 500. 100
pretty boolean Displays response in a prettyprint format. false
envelope boolean Specifies whether or not to wrap the response in an envelope. false

Request Body Parameters

Name Type Required/Optional Description
collectionName string Required The name of the collection the index is on.
database string Required The name of the database the collection is in.
analyzer string Optional The analyzer to use when creating the index. Defaults to lucene.standard.
searchAnalyzer string Optional The analyzer to use when searching the index. Defaults to lucene.standard.
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 The name of the index.

Note

The name body parameter must contain the current name of the index, and it may not 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
collectionName string The name of the collection the index is on.
database string The name of the database the collection is in.
indexID string The unique identifier for the index.
analyzer Optional The analyzer to use when creating the index.
searchAnalyzer string The analyzer to use when searching the index.
mappings object Object containing index specifications for the collection fields.
mappings.dynamic boolean Indicates whether the index uses dynamic or static mappings.
mappings.fields object Object containing one or more field specifications.
name string The name of the index.

Example

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

Example Request

curl --user "{username}:{apikey}" --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

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"
}