[[analysis-simple-analyzer]] === Simple Analyzer The `simple` analyzer breaks text into terms at any non-letter character, such as numbers, spaces, hyphens and apostrophes, discards non-letter characters, and changes uppercase to lowercase. ==== Example [source,console] --------------------------- POST _analyze { "analyzer": "simple", "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." } --------------------------- ///////////////////// [source,console-result] ---------------------------- { "tokens": [ { "token": "the", "start_offset": 0, "end_offset": 3, "type": "word", "position": 0 }, { "token": "quick", "start_offset": 6, "end_offset": 11, "type": "word", "position": 1 }, { "token": "brown", "start_offset": 12, "end_offset": 17, "type": "word", "position": 2 }, { "token": "foxes", "start_offset": 18, "end_offset": 23, "type": "word", "position": 3 }, { "token": "jumped", "start_offset": 24, "end_offset": 30, "type": "word", "position": 4 }, { "token": "over", "start_offset": 31, "end_offset": 35, "type": "word", "position": 5 }, { "token": "the", "start_offset": 36, "end_offset": 39, "type": "word", "position": 6 }, { "token": "lazy", "start_offset": 40, "end_offset": 44, "type": "word", "position": 7 }, { "token": "dog", "start_offset": 45, "end_offset": 48, "type": "word", "position": 8 }, { "token": "s", "start_offset": 49, "end_offset": 50, "type": "word", "position": 9 }, { "token": "bone", "start_offset": 51, "end_offset": 55, "type": "word", "position": 10 } ] } ---------------------------- ///////////////////// The `simple` analyzer parses the sentence and produces the following terms: [source,text] --------------------------- [ the, quick, brown, foxes, jumped, over, the, lazy, dog, s, bone ] --------------------------- ==== Configure parameters The `simple` analyzer does not contain configurable parameters. ==== Customize The `simple` analyzer is defined by one tokenizer: Tokenizer:: * <> To customize the `simple` analyzer, duplicate it to create the basis for a `custom` analyzer. The new analyzer can be modified as required, usually by adding token filters. ===== Example [source,console] ---------------------------------------------------- PUT /simple_example { "settings": { "analysis": { "analyzer": { "rebuilt_simple": { "tokenizer": "lowercase", "filter": [ <1> ] } } } } } ---------------------------------------------------- // TEST[s/\n$/\nstartyaml\n - compare_analyzers: {index: simple_example, first: simple, second: rebuilt_simple}\nendyaml\n/] <1> Add token filters here.