我有一个带索引40M记录数据的ElasticSearch服务版本1.4。如何在ElasticSearch中获得不同的结果(如果字段相同)
我有具有相同父字段的数据。我想只从同一父母中提取1个唯一结果。
例:
{
"id": "7835",
"isbn": "3985",
"parent_id": "7819",
},
{
"id": "1835",
"isbn": "4935",
"parent_id": "7719",
},
{
"id": "2835",
"isbn": "9985",
"parent_id": "7819",
}
预期的结果,我想有是:
{
"id": "7835",
"isbn": "3985",
"parent_id": "7819",
},
{
"id": "1835",
"isbn": "4935",
"parent_id": "7719",
},
我已签出聚合: ElasticSearch - Return Unique Values
{
"aggs" : {
"parentId" : {
"terms" : { "field" : "parent_id" }
}
但是响应我得到 - 显示3项(所以最后一个不会被忽略),和我在聚合响应中使用了带有关键字的术语桶,这对我来说并不有用,因为它似乎告诉我文档中每个键的出现次数,而不是所需的输出。
我不知道要完全理解,但你有没有试过在'isbn'(或'id')领域的一个'parent_id'嵌套了另一个'terms'子聚集? – Val
@Val对不起,你是正确的 - 我已经改变了输出,以反映正确的结果 – azngunit81