Here is an example of an ElasticSearch query:
type:Person employments.{role.name:"CEO" employer.name:"Microsoft"} age>40 has:emailAddresses sortBy:location.city.name
ah yes, that is the term I should be using.
I found the Lucene grammar does not support Elasticsearch nested queries, so planned to try expanding this grammar unless found a better option.