elasticsearch 在Elasticsearch中从搜索中删除重复文档
我有一个索引,索引中有很多相同字段值的纸张。我在这个领域有一次重复数据消除 聚合器将作为计数器来找我。我想要一份文件清单 我的索引:
elasticsearch 在Elasticsearch中从搜索中删除重复文档,
elasticsearch,deduplication,
elasticsearch,Deduplication,我有一个索引,索引中有很多相同字段值的纸张。我在这个领域有一次重复数据消除 聚合器将作为计数器来找我。我想要一份文件清单 我的索引: 文档1{域:'domain1.fr',名称:'name1',日期:'01-01-2014'} 文档2{域:'domain1.fr',名称:'name1',日期:'01-02-2014'} Doc 3{域名:'domain2.fr',名称:'name2',日期:'01-03-2014'} 文件4{域名:'domain2.fr',名称:'name2',日期:'01-
- 文档1{域:'domain1.fr',名称:'name1',日期:'01-01-2014'}
- 文档2{域:'domain1.fr',名称:'name1',日期:'01-02-2014'}
- Doc 3{域名:'domain2.fr',名称:'name2',日期:'01-03-2014'}
- 文件4{域名:'domain2.fr',名称:'name2',日期:'01-04-2014'}
- 文档5{域:'domain3.fr',名称:'name3',日期:'01-05-2014'}
- 文档6{域:'domain3.fr',名称:'name3',日期:'01-06-2014'}
- 文档6{域:'domain3.fr',名称:'name3',日期:'01-06-2014'}
- 文件4{域名:'domain2.fr',名称:'name2',日期:'01-04-2014'}
- 文档2{域:'domain1.fr',名称:'name1',日期:'01-02-2014'}
name
字段中,并将top\u hits
聚合器的大小设置为1
/POST http://localhost:9200/test/dedup/_search?search_type=count&pretty=true
{
"aggs":{
"dedup" : {
"terms":{
"field": "name"
},
"aggs":{
"dedup_docs":{
"top_hits":{
"size":1
}
}
}
}
}
}
这将返回:
{
"took" : 192,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"hits" : {
"total" : 6,
"max_score" : 0.0,
"hits" : [ ]
},
"aggregations" : {
"dedup" : {
"buckets" : [ {
"key" : "name1",
"doc_count" : 2,
"dedup_docs" : {
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [ {
"_index" : "test",
"_type" : "dedup",
"_id" : "1",
"_score" : 1.0,
"_source":{domain: "domain1.fr", name: "name1", date: "01-01-2014"}
} ]
}
}
}, {
"key" : "name2",
"doc_count" : 2,
"dedup_docs" : {
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [ {
"_index" : "test",
"_type" : "dedup",
"_id" : "3",
"_score" : 1.0,
"_source":{domain: "domain1.fr", name: "name2", date: "01-03-2014"}
} ]
}
}
}, {
"key" : "name3",
"doc_count" : 2,
"dedup_docs" : {
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [ {
"_index" : "test",
"_type" : "dedup",
"_id" : "5",
"_score" : 1.0,
"_source":{domain: "domain1.fr", name: "name3", date: "01-05-2014"}
} ]
}
}
} ]
}
}
}
是否要查找重复文档并将其删除?或者从搜索结果中过滤它们?我想从搜索结果中过滤它们谢谢你的回答:-)但是如果我的字段值类似于“我的桶中的术语,它们是“printemps”、“couture”、“9782756522081”。。。术语聚合器按单词拆分url。。。我不想分割值。这是另一个问题,您需要索引未分析的字段
并在聚合中引用该字段。看看多字段类型:有没有一种方法可以决定在重复字段中选择哪一种?假设我有一些文档,我想在field1上折叠,但是这些文档有不同的field2值,我想能够任意选择哪一个?如果有帮助的话,在我的特定情况下,我想选择最后一个插入的。您在哪里删除了文档?