如何在elasticsearch中删除重复的搜索结果?

首先创建一些示例数据(e1,e2,e3是类型,而test是索引名称):

PUT test/e1/1

{

"id":1

"subject": "subject 1"

}

PUT test/e2/1

{

"id":1

"subject": "subject 2"

}

PUT test/e3/2

{

"id":2

"subject": "subject 3"

}

现在我的问题是:我怎样才能仅获得这两个数据?删除结果中具有相同ID的重复数据curl -XGET _search

test/e1/1

{

"id":1

"subject": "subject 1"

}

test/e3/2

{

"id":2

"subject": "subject 3"

}

回答:

首先,您将需要搜索多个索引。

然后,在结果上删除重复的ID。

POST  http://myElastic.com/test/e1,e2,e3/_search

{

"aggs":{

"dedup" : {

"terms":{

"field": "id"

},

"aggs":{

"dedup_docs":{

"top_hits":{

"size":1

}

}

}

}

}

}

以上是 如何在elasticsearch中删除重复的搜索结果? 的全部内容, 来源链接: utcz.com/qa/400181.html

回到顶部