Works for me with a smaller example, maybe you have misconfigured the mapping for the field the string appears in. Can you check the mapping and maybe come back with a recreation that involves one or two documents?
Your mapping shows that your fields are not_analyzed, so unless any field in your docs exactly matches one of the query terms you won't get any result. The raw subfields however seem to be analyzed, so if you e.g. use BrandName.raw in your query above (also for the other fields that have a raw subfield) this should work. Normally, however, people do it the other way round in their mappings: analyze the main field an have a non-analyzed version in the raw field for exact phrase matches (if you need them).