| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | == Testing analyzersThe <<indices-analyze,`analyze` API>> is an invaluable tool for viewing theterms produced by an analyzer. A built-in analyzer (or combination of built-intokenizer, token filters, and character filters) can be specified inline inthe request:[source,js]-------------------------------------POST _analyze{  "analyzer": "whitespace",  "text":     "The quick brown fox."}POST _analyze{  "tokenizer": "standard",  "filter":  [ "lowercase", "asciifolding" ],  "text":      "Is this déja vu?"}-------------------------------------// CONSOLE.Positions and character offsets*********************************************************As can be seen from the output of the `analyze` API, analyzers not onlyconvert words into terms, they also record the order or relative _positions_of each term (used for phrase queries or word proximity queries), and thestart and end _character offsets_ of each term in the original text (used forhighlighting search snippets).*********************************************************Alternatively, a <<analysis-custom-analyzer,`custom` analyzer>> can bereferred to when running the `analyze` API on a specific index:[source,js]-------------------------------------PUT my_index{  "settings": {    "analysis": {      "analyzer": {        "std_folded": { <1>          "type": "custom",          "tokenizer": "standard",          "filter": [            "lowercase",            "asciifolding"          ]        }      }    }  },  "mappings": {    "_doc": {      "properties": {        "my_text": {          "type": "text",          "analyzer": "std_folded" <2>        }      }    }  }}GET my_index/_analyze <3>{  "analyzer": "std_folded", <4>  "text":     "Is this déjà vu?"}GET my_index/_analyze <3>{  "field": "my_text", <5>  "text":  "Is this déjà vu?"}-------------------------------------// CONSOLE<1> Define a `custom` analyzer called `std_folded`.<2> The field `my_text` uses the `std_folded` analyzer.<3> To refer to this analyzer, the `analyze` API must specify the index name.<4> Refer to the analyzer by name.<5> Refer to the analyzer used by field `my_text`.
 |