gpt4 book ai didi

elasticsearch - 在 Elasticsearch 中查找索引中的唯一文档

转载 作者:行者123 更新时间:2023-12-03 01:31:56 25 4
gpt4 key购买 nike

我的索引中有重复项,我只想查找索引中的唯一文档。 TopHits聚合解决了这个问题,但我的其他要求是支持对结果进行排序(跨存储桶)。因此,我不能使用热门匹配。
我可以想到的其他选择是编写插件或使用轻松的脚本。
需要帮助解决此问题。如果您可以将我重定向到一些示例,那将非常好。

最佳答案

Top hits聚合从完整结果集中找到值,而如果使用cardinality,则仅给出过滤后的结果集。
您可以使用cardinality聚合,如下所示:

{
"aggs" : {
"UNIQUE_COUNT" : {
"cardinality" : {
"field" : "your_field"
}
}
}
}

这种聚合带有一些责任,您可以找到下面的ElasticSearch文档以更好地理解它。
链接: Cardinality Aggregation

为了进行排序,您可以引用以下示例,在其中您可以按照创建存储桶的 terms的顺序传递聚合:
{
"aggs": {
"AGG_NAME": {
"terms": {
"field": "you_field",
"size": 10,
"order": {
"UNIQUE_COUNT.doc_count": "asc"
},
"min_doc_count": 1
},
"aggs": {
"UNIQUE_COUNT": {
"cardinality": {
"field": "your_field"
}
}
}
}
}
}

关于elasticsearch - 在 Elasticsearch 中查找索引中的唯一文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55396101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com