Отчетливый эластичный запрос клиента отдыха высокого уровня
Как пользоваться High Level Rest Client
найти документы по разному значению. В документации говорится оAggregation framework
для поиска отличных documents
по field
. Но я не смог найти ни одного примера, используяHigh Level Rest Client
. Как я могу отличитьсяdocuments
по field
.
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("Field1", "Value1"))
searchSourceBuilder.query(boolQueryBuilder);
searchSourceBuilder.aggregation(????)
Данные
{
..
..
"Field1" : "Value1",
"Field2" : "Value2"
},
{
"Field1" : "Value1",
"Field2" : "Value21"
}
}
Ожидаемый результат (любой документ с "Поле1": "Значение1")
{
..
..
"Field1" : "Value1",
"Field2" : "Value2"
}
}
Эластичный поисковый запрос для отчетливых вложенных значений
Код ниже дает тот же результат:
AggregationBuilder termAggregationBuilder = AggregationBuilders
.terms("someName")
.field("Field1");
AggregationBuilder topHitsAggregationBuilder = AggregationBuilders
.topHits("someOtherName")
.fetchSource(includeFields, excludeFields);
searchSourceBuilder.aggregation(termAggregationBuilder.subAggregation(topHitsAggregationBuilder));