Ich migriere von ES 1.7 zu 5.2 und refactoring den folgenden Code.Elasticsearch Java-API-Migrationsform TermsFacetBuilder mit AggregationBuilders
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);
}
mit 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);
}
Wenn ich Feuer der Abfrage Suche ich die folgende Ausnahme bin immer
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.]
Ich habe auch versucht die fieldDocValue auf SearchRequestBuilder Einstellung aber kein Glück.
Haben Sie 'fielddata = true auf [labels]' gesetzt, wie die Fehlermeldung besagt? – Jeremy
@ Jeremy, Wie stellen wir es ein? – Santosh