Terms Lookup By Query

Add support for looking up filter terms using the results of a query.
A query or filter can be used to gather a set of results and the
specified "path" field value will be extracted from each matching
document and used as a filter term.

The query lookup is cached by default to avoid redundant lookups and
the field data cache is used during lookup and document filtering to
improve performance when the number of terms is high.