错误: ClassCastException异常[org.elasticsearch.search。 aggregations.support.ValuesSource $ Bytes $ WithOrdinals $ FieldData不能 被投射到 org.elasticsearch.search.aggregations.support.ValuesSource $数值]} {[vTHdFzpuTEGMGR8MES_b9g]
我的查询:
GET _search
{
"size" : 0,
"query" : {
"filtered" : {
"query" : {
"dis_max" : {
"tie_breaker" : 0.7,
"queries" : [ {
"bool" : {
"should" : [ {
"match" : {
"post.body" : {
"query" : "check",
"type" : "boolean"
}
}
}, {
"match" : {
"post.parentBody" : {
"query" : "check",
"type" : "boolean",
"boost" : 2.0
}
}
} ]
}
} ]
}
}
}
},
"aggregations" : {
"by_parent_id" : {
"terms" : {
"field" : "post.parentId",
"order" : {
"max_score" : "desc"
}
},
"aggregations" : {
"max_score" : {
"max" : {}
},
"top_post" : {
"top_hits" : {
"size" : 1
}
}
}
}
}
我希望按max_score
而不是doc_count
对存储桶进行排序,这是弹性搜索的默认行为。
我正在尝试聚合帖子(包含body和parentBody)
按parentId
然后按max_score
和每个存储桶对存储桶进行排序
我得到了top_hits
。但我排序时遇到上述错误
通过定义最大分数聚合来实现分组。如果我删除max_score
聚合,那么一切正常。每个post对象都有parentId,body和parentBody。我使用以下参考编码:
Elasticsearch Aggregation: How to Sort Bucket Order https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html#_field_collapse_example
告诉我,我做错了什么?我已经分享了上面的查询。