gpt4 book ai didi

elasticsearch - 字符串字段上的 Elastic Search 最大值

转载 作者:行者123 更新时间:2023-12-02 22:24:28 24 4
gpt4 key购买 nike

在 SQL 中,可以在字符串字段上使用 MAX() 来获取不同的值(假设分组依据是正确的)。

然而,这在 ElasticSearch 中是不可能的,因为 MAX 仅适用于数字字段。但是,我想在聚合后检索某些字符串字段的值,以便显示这些值。

例如假设一个通用的书籍结构

{
"aggs" : {
"group_by_author" : { "terms" : { "field" : "author"},
"aggs" : {
"books_published" : { "sum" : { "field" : "name"}},
"distinct_title" : { "max" : {"field" : "some_relevant_field_name"}}
}
}
}
}

这里我不能对 some_relevant_field_name 执行最大值,因为它是一个字符串。除了更多聚合之外,还有其他方法可以做到这一点吗?

最佳答案

如果您想为每个作者找到不同的书名,也许您应该尝试在“distinct_title”字段中使用“terms”聚合:

{
"aggs":{
"group_by_author":{
"terms":{
"field":"author"
},
"aggs":{
"books_published":{
"sum":{
"field":"name"
}
},
"distinct_title":{
"terms":{
"field":"some_relevant_field_name"
}
}
}
}
}
}

它应该为每位作者创建书名桶,如 documentation 中所述.

关于elasticsearch - 字符串字段上的 Elastic Search 最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33872216/

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