如何将此JSON写入Elasticsearch Java API?
对于Elasticsearch,我有以下如何将此JSON写入Elasticsearch Java API?,java,
elasticsearch,Java,
elasticsearch,对于Elasticsearch,我有以下JSON查询(工作正常)- 我试图用Java API重写它- public AggregationBuilder<TermsBuilder> getClassifierAggregation(String classifierName) { String probailityField = classifierName + "_probability"; return AggregationBuilders.terms("by_
JSON
查询(工作正常)-
我试图用Java API重写它-
public AggregationBuilder<TermsBuilder> getClassifierAggregation(String classifierName) {
String probailityField = classifierName + "_probability";
return AggregationBuilders.terms("by_class")
.subAggregation(
AggregationBuilders.terms("classifier").field(classifierName)
)
.subAggregation(
AggregationBuilders.avg("avg_probability").field(probailityField)
)
.subAggregation(
AggregationBuilders.sum("sum_probability").field(probailityField)
);
}
但我得到了以下例外-
org.elasticsearch.search.aggregations.AggregationExecutionException: could not find the appropriate value context to perform aggregation [by_class]
我做错了什么?我提到的方法写错了。这是正确的一个-
public TermsBuilder getClassifierAggregation(String classifierName) {
String probailityField = classifierName + "_probability";
return AggregationBuilders.terms("by_class").field(classifierName)
.subAggregation(
AggregationBuilders.avg("avg_probability").field(probailityField)
)
.subAggregation(
AggregationBuilders.sum("sum_probability").field(probailityField)
);
}
我提到的方法写错了。这是正确的一个-
public TermsBuilder getClassifierAggregation(String classifierName) {
String probailityField = classifierName + "_probability";
return AggregationBuilders.terms("by_class").field(classifierName)
.subAggregation(
AggregationBuilders.avg("avg_probability").field(probailityField)
)
.subAggregation(
AggregationBuilders.sum("sum_probability").field(probailityField)
);
}
public TermsBuilder getClassifierAggregation(String classifierName) {
String probailityField = classifierName + "_probability";
return AggregationBuilders.terms("by_class").field(classifierName)
.subAggregation(
AggregationBuilders.avg("avg_probability").field(probailityField)
)
.subAggregation(
AggregationBuilders.sum("sum_probability").field(probailityField)
);
}