我使用父/子关系来存储一些文档:
{
"A" : {
"properties" : {
}
}
}
{
"B" : {
"_parent" : {
"type" : "A"
},
"properties" : {
}
}
}
在我的用例中,我需要为每个B
文档找到最佳的A
文档。 (类似于has_parent
查询和一些过滤器,它确保只返回每个父项的最高得分文档。)
这个问题有一个很好的解决方案吗?
答案 0 :(得分:1)
你找到了办法吗?
如果没有,一旦发布了ElasticSearch的v1.4.0,您应该可以通过组合两个聚合:
基于父类型A的children
aggregation(将包含在1.4.0中)
top_hits
aggregation(在1.3.0中添加)size
1,仅检索最匹配的孩子。