I have a field setup with the analyzer and search analyzer set to an NGRAM, all other fields are just text.
In my js app i am using query_string (no default fields or specific fields set). When i search using the query_string if i type a partial string on one of the ngram fields the results show as expected..
Gives results for:
blah 2.1.4 etc.
if i then type: 2.1 OTHERWORD i get nothing even though 2.1 is an ngram in one field and OTHERWORD is in another field (as text).
If i type 2.1 AND OTHERWORD i get the results i was looking for.. Why the need for the AND ? (default_operator is set to AND).
Also, if i change query_string to simple_query_string then it works perfectly without the AND but i cant use the simple query because it doesnt allow users to specify field names (fieldA:1.2).
I also tried to specify fields:['fieldA','fieldB'] in the query incase it was an issue with the all field but it didnt change anything.
Any guidance is appreciated.
Last Edit if i do 2.1* OTHERWORD it also works (as if the AND was there). Its almost like it looses the ability to use the field specified analyzer if you use multiple words without an operator.