the analyzer shown in figure is the combination of all the operations required to go from input text to index it incorporates the shingle filterbut it' much more than this the tokenizer splits the text into tokens or termsyou can then use lowercase filter so there' no difference when searching for "diabetesversus "diabetes finallyyou apply your shingle filtercreating your bigrams name this is custom-defined analyzer-we specify every component ourselves we still make use of the token analyzer (which is also the default analyzerthe lowercase token filter (which is also the default filterwill lowercase every character when lowercasing is doneour shingle filter is appliedcreating bigrams instead of the default unigrams figure bigrams custom analyzer with standard tokenization and shingle token filter to produce notice that you need to close the index before updating the settings you can then safely reopen the index knowing that your settings have been updated not all setting changes require the index to be closedbut this one does you can find an overview of what settings need the index to be closed at the index is now ready to use your new analyzer for this you'll create new document typediseases with new mappingas shown in the following listing listing create more advanced elasticsearch doctype mapping doctype 'diseases the new disease mapping diseasemapping differs from the old one by 'properties'the addition of the 'name'{'type''string'}fulltext shingles field that 'title'{'type''string'}contains your bigrams 'fulltext'"type""string""fields""shingles""type""string""analyzer""my_shingle_analyzer