我parent
/child
在我的索引有关的文件,并希望得到父母的名单排序儿童的数量。有什么办法吗?我正在使用Elasticsearch
1.5.1
现在,通过使用inner_hits
功能,我可以轻松获得子文档的数量以及父查询的结果,但是似乎无法inner_hits.{child_type_name}.hits.total
从脚本或搜索/评分功能访问值。有任何想法吗?
好吧,我终于找到了答案。感谢@doctorcal在#elasticsearch IRC上的提示
正如我在这个问题提到的,我们可以使用每个家长让孩子的名单一起inner_hits在Elasticsearch
1.5。
为了能够按照孩子的数量对父母进行排序,我们需要使用一个小技巧-将孩子的数量放入父母的分数中(默认情况下用于排序)。为此,我们只sum
对has_child查询使用分数模式:
{
"query": {
"has_child": {
"type": "comment",
"score_mode": "sum",
"query": {
"match_all": {}
},
"inner_hits": {}
}
}
}
注意:此查询有一个限制-似乎您无法保留有关初始分数(查询的相关分数)的信息,因为我们将其替换为子代数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句