Get All User-Defined Analyzers for a Cluster

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

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

To learn how to configure API access for an Atlas project, see Configure Atlas API Access.

Info With Circle IconCreated with Sketch.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:

GET /groups/{GROUP-ID}/clusters/{CLUSTER-NAME}/fts/analyzers
Path ElementTypeNecessityDescription
GROUP-IDstringRequiredUnique identifier for the project that contains the specified cluster.
CLUSTER-NAMEstringRequiredName of the cluster containing the collection with one or more Atlas Search indexes.

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

pageNumintegerOptionalPage number, starting with one, that Atlas returns of the total number of objects.1
itemsPerPageintegerOptionalNumber of items that Atlas returns per page, up to a maximum of 500.100
includeCountbooleanOptionalFlag that indicates whether Atlas returns the totalCount parameter in the response body.true
prettybooleanOptionalFlag that indicates whether Atlas returns the JSON response in the prettyprint format.false

Flag that indicates whether Atlas wraps 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.

Endpoints that return a list of results use the results object as an envelope. Atlas adds the status parameter to the response body.


This endpoint doesn't use HTTP request body parameters.

The HTTP response returns a JSON document that includes an array of analyzer definitions. An analyzer definition contains some or all of the following elements:

baseAnalyzerstringAnalyzer on which the user-defined analyzer is based.
ignoreCasebooleanSpecify whether the index is case-sensitive.
maxTokenLengthintegerLongest text unit to analyze. Atlas Search excludes anything longer from the index.
namestringName of the user-defined analyzer.
stemExclusionSetarray of stringsWords to exclude from stemming by the language analyzer.
stopwordsarray of stringsStrings to ignore when creating the index.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json" \
--include \
--request GET "{GROUP-ID}/clusters/{CLUSTER-NAME}/fts/analyzers?pretty=true"
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}

The following example response contains an array of two analyzer definitions.

2 {
3 "baseAnalyzer" : "lucene.standard",
4 "maxTokenLength" : 32,
5 "name" : "my_new_analyzer"
6 },
7 {
8 "baseAnalyzer" : "lucene.english",
9 "name" : "my_new_analyzer2",
10 "stopwords" : [ "first", "second", "third", "etc" ]
11 }
Give Feedback