I am migrating from ES 1.7 to 5.2 and refactoring the following code.
ES 1.7
public void prepare(final SearchRequestBuilder searchRequestBuilder) {
final TermsFacetBuilder labelsFacet = FacetBuilders
.termsFacet("labels")
.field("labels");
searchRequestBuilder.addFacet(labelsFacet);
searchRequestBuilder.setFrom(start);
searchRequestBuilder.setSize(size);
}
with ES 5.2
public void prepare(final SearchRequestBuilder searchRequestBuilder) {
TermsAggregationBuilder aggregation = AggregationBuilders.terms("labels").field("labels");
searchRequestBuilder.addAggregation(aggregation);
searchRequestBuilder.setFrom(start);
searchRequestBuilder.setSize(size);
}
When I fire the search query I am getting the following exception
nested: IllegalArgumentException[Fielddata is disabled on text fields by default. Set fielddata=true on [labels] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory.]
I also tried setting the fieldDocValue on SearchRequestBuilder but no luck.
Set fielddata=true on [labels]
, as the error message said? – Jeremy 19 hours ago