Elasticsearch will use the token filters preceding the synonym filter
in a tokenizer chain to parse the entries in a synonym file. So, for example, if a
synonym filter is placed after a stemmer, then the stemmer will also be applied
to the synonym entries. Because entries in the synonym map cannot have stacked
positions, some token filters may cause issues here. Token filters that produce
multiple versions of a token may choose which version of the token to emit when
parsing synonyms, e.g.
asciifolding will only produce the folded version of the
token. Others, e.g.
ngram will throw an
WARNING:The synonym rules should not contain words that are removed by
a filter that appears after in the chain (a
stop filter for instance).
Removing a term from a synonym rule breaks the matching at query time.