ElasticSearch Java Client querying nested objects ElasticSearch Java Client querying nested objects elasticsearch elasticsearch

ElasticSearch Java Client querying nested objects


The folowing Java code will generate your query

public NestedQueryBuilder nestedBoolQuery(final Map<String, String> propertyValues, final String nestedPath) {    BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();    Iterator<String> iterator = propertyValues.keySet().iterator();    while (iterator.hasNext()) {        String propertyName = iterator.next();        String propertValue = propertyValues.get(propertyName);        MatchQueryBuilder matchQuery = QueryBuilders.matchQuery(propertyName, propertValue);        boolQueryBuilder.must(matchQuery);    }    return QueryBuilders.nestedQuery(nestedPath, boolQueryBuilder);}

The parameter propertyValues is:

Map<String, String> propertyValues = new HashMap<String, String>();propertyValues.put("consultations.prescriptions", "alfuorism");propertyValues.put("consultations.Diagnosis", "Fever");

The parameter nestedPath is:

consultations