ANALYZER()
Sets an analyzer for the fulltext search query. The analyzer applies to all nested functions which do not have an analyzer argument. If a nested function has its own analyzer, then that analyzer takes precedence over what you choose here.
The default analyzer is identity.
Syntax
ANALYZER(expr, analyzer)
| Key | Type | Description | 
|---|---|---|
| expr | expression | A valid search expression. | 
| analyzer | string | Name of the analyzer. | 
Example 1
Using the ANALYZER() function, you can specify an analyzer type. For example:
FOR doc IN viewName
  SEARCH ANALYZER(doc.text == "bar", "text_en")
  RETURN doc
The second argument in the ANALYZER() function specifies a text_en analyzer. The expression doc.text == "bar" must be wrapped by the ANALYZER() function. Otherwise, the expression would be evaluated with the default identity analyzer.
Example 2
In the following query, the search expression is swapped by ANALYZER() to set the text_en analyzer for both PHRASE() functions:
FOR doc IN viewName
  SEARCH ANALYZER(PHRASE(doc.text, "foo") OR PHRASE(doc.text, "bar"), "text_en")
  RETURN doc
Without a specified ANALYZER():
FOR doc IN viewName
  SEARCH PHRASE(doc.text, "foo", "text_en") OR PHRASE(doc.text, "bar", "text_en")
  RETURN doc
Example 3
In this example, ANALYZER() sets a default text_en analyzer. In the nested function that searches for bar, the identity analyzer overrides the higher-level choice.
FOR doc IN viewName
  SEARCH ANALYZER(PHRASE(doc.text, "foo") OR PHRASE(doc.text, "bar", "identity"), "text_en")
  RETURN doc