Different order gives different results

I have created a customised analyzer which looks like this

'type': 'custom',
'tokenizer': 'standard',
'filter': [

I am using this analyzer for different fields in my data.
Now a query using multi_match with and operator gives different results with different order of terms in the query

Can anyone help me understanding why this happens?