gpt4 book ai didi

elasticsearch - 如何使用通配符对查询中的存储桶聚合进行排序?

转载 作者:行者123 更新时间:2023-12-02 23:08:25 25 4
gpt4 key购买 nike

我不知道如何分类结果。我正在使用ES 6.3和following suggested docs。我正在尝试对结果进行排序,使“bucket_sort”聚合,但出现错误。以下查询有效,但是无论我在“查询”正文之后放置带有“asc”或“desc”的“sort”子句,还是以相同的顺序返回存储桶:

{
"query": {
"bool":{
"filter":{
"wildcard": {
"datas.295.keyword": {
"value":"*w*"
}
}
}
}
},
"sort":[
{
"datas.295.keyword": {
"order" : "desc"
}
}
],
"aggs": {
"AGGREGATE_UNIQUE_VALUES_FROM_REPEATED": {
"terms": {
"field": "datas.295.keyword"
}
}
}}

返回的记录与Windows XP,Windows Vista等操作系统匹配。但是如何按升序对其进行排序?我正在尝试:
{

"query": {
"bool":{
"filter":{
"wildcard": {
"datas.295.keyword": {
"value":"*w*"
}
}
}
}
},
"aggs": {
"AGGREGATE_UNIQUE_VALUES_FROM_REPEATED": {
"terms": {
"field": "datas.295.keyword"
},
"aggs": {
"bucket_sort":{
"sort": [
{
"datas.295.keyword": {"order": "asc"}
}
]
}
}
}
}}

该查询引发“在[sort]下预期[START_OBJECT],但在[bucket_sort]中出现了[START_ARRAY]”错误
感谢您的阅读!

最佳答案

hits和aggs是API的独立部分。您需要的是术语'bucket order:

{
"query": {
"bool": {
"filter": {
"wildcard": {
"datas.295.keyword": {
"value": "*w*"
}
}
}
}
},
"sort": [
{
"datas.295.keyword": {
"order": "desc"
}
}
],
"aggs": {
"AGGREGATE_UNIQUE_VALUES_FROM_REPEATED": {
"terms": {
"field": "datas.295.keyword",
"order": {
"_key": "desc"
}
}
}
}
}

关于elasticsearch - 如何使用通配符对查询中的存储桶聚合进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62790111/

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