如何使用通配符对查询中的桶聚合进行排序?
How to sort buckets aggregation from query with wildcard?
我不知道如何对存储桶进行排序。我正在使用 ES 6.3 和 following suggested docs。我正在尝试对放置“bucket_sort”聚合的结果进行排序,但出现错误。以下查询有效,但 returns 存储桶的顺序相同,无论我在“查询”正文之后放置带有 'asc' 或 'desc' 的“排序”子句:
{
"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 etc. 但如何按升序排序?我试试这个:
{
"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"}
}
]
}
}
}
}}
此查询引发 'Expected [START_OBJECT] under [sort], but got a [START_ARRAY] in [bucket_sort]' 错误
感谢阅读!
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"
}
}
}
}
}
我不知道如何对存储桶进行排序。我正在使用 ES 6.3 和 following suggested docs。我正在尝试对放置“bucket_sort”聚合的结果进行排序,但出现错误。以下查询有效,但 returns 存储桶的顺序相同,无论我在“查询”正文之后放置带有 'asc' 或 'desc' 的“排序”子句:
{
"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 etc. 但如何按升序排序?我试试这个:
{
"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"}
}
]
}
}
}
}}
此查询引发 'Expected [START_OBJECT] under [sort], but got a [START_ARRAY] in [bucket_sort]' 错误 感谢阅读!
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"
}
}
}
}
}