Query_string not applying synonyms filter

In 5.x whitespaces are considered as operators in the query_string query:
The query string parser would interpret your query as a search for "air OR print" , while the token stored in your index is actually "airprint" . The option split_on_whitespace=false will protect it from being touched by the query string parser and will let the analysis run on the entire input ( "air print" ). Starting 6.x split_on_whitespace is always set to false which is why your query is working in this version. See the warning in the documentation regarding this behavior:
https://www.elastic.co/guide/en/elasticsearch/reference/6.8/query-dsl-query-string-query.html

2 Likes