Let's say that I've indexed an object that looks like:
{
firstName: "Ben"
lastName: "McCann"
urls: [{ canonical: "http://www.benmccann.com" }]
emails: [{ canonical: "[email protected]" }]
}
How do I then create a search for "Ben" or "McCann" or "[email protected]"?
SearchRequest request = new SearchRequest(INDEX)
.source(new SearchSourceBuilder().query(QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("firstName", "Ben"))
.should(QueryBuilders.matchQuery("lastName", "McCann"))
.should(QueryBuilders.nestedQuery("emails", QueryBuilders.matchQuery("emails.canonical", "[email protected]")))));