首先创建一些示例数据(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。
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 } } } } } }