让我们举个例子,然后我将解释我要解决的问题。
假设我的映射如下:
{
"parent_id": { "type": "integer" },
"mydata": {
"type": "nested",
"dynamic": "strict",
"properties": {
"name": {"type": "string"},
"location": { "type": "geo_point"}
}
}
}
在这里,我想找到与某些条件匹配的所有文档(以分页方式 = 每页 10 个文档),但在该结果集中,我只想保留一个与得分最高的最佳匹配的文档parent_id
。这意味着假设在结果中,有五个这样的文档具有相同parent_id
的 ,那么我将根据其中的最高分选择其中一个。但是,最后,分页应该总是在消除后返回我想要的(比如 10 个)结果数字。甚至可以在查询时做吗?我正在使用 ES 2.3