Now we come to a common pattern: cross-fields entity search. With entities
like person, product, or address, the identifying information is spread
across several fields. We may have a person indexed as follows:

This sounds a lot like the example we described in Multiple Query Strings,
but there is a big difference between these two scenarios. In
Multiple Query Strings, we used a separate query string for each field. In
this scenario, we want to search across multiple fields with a single query
string.

Our user might search for the person “Peter Smith” or for the address
“Poland Street W1V.” Each of those words appears in a different field, so
using a dis_max / best_fields query to find the single best-matching
field is clearly the wrong approach.