如何在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