【发布时间】:2017-07-07 14:48:44
【问题描述】:
我有一些文档被索引两次或更多的问题,所以我想在搜索时过滤掉这些重复项。我关注了其他一些线程并构建了这个查询:
{
"query" : { ... },
"size" : 10,
"from" : 0,
"sort" : { ... },
"aggs" : {
"dedup" : {
"terms" : {
"field" : "content.keyword"
},
"aggs" : {
"dedup_docs" : {
"top_hits" : {
"size" : 1
}
}
}
}
}
}
但是这个聚合好像没有效果。我仍然得到重复的结果(内容字段中具有相同文本的文档)。
请求已更改:
{
"query" : { ... },
"size" : 10,
"from" : 0,
"sort" : { ... },
"collapse" : {
"field" : "content.keyword"
}
}
【问题讨论】:
-
您是要过滤掉重复的聚合还是重复的文档结果?
-
我想过滤掉重复的文档结果,比如说标题相同或文本内容相同的文档。
-
你在使用stackoverflow.com/questions/25448186/…这里的答案吗?您是否在正确的端点上运行? /_search?search_type=count 您是否在聚合中查找结果而不是在 hits 数组中而不是?
标签: elasticsearch