Only add fields to query if the query has a query string
Fixed issue causing partial_match fields of subclasses to not work correctly
When we search, by default we search on a hidden field called '_all'. This field is made up of all fields in your document concatenated together.
The issue with this is you can only have one analyser across this entire field and you cant set partial_match for some fields and not others.
This commit adds a new hidden field called 'partials'. It works in a similar way to '_all' but it has the edgengram analyser enabled. We concatenate all the fields which want partial matching and throw them into this field. When a search is run, we run the search on both _all and partials making partials work correctly