Elasticsearch中的多个分组依据

我需要在ES中使用3个字段进行汇总(分组)。

我可以在1个查询中执行此操作,还是需要对每列使用facet +迭代?

谢谢

回答:

您可以通过2种方式来做到这一点:

1)在一个方面中使用多个字段:

单个字段facet的示例:

curl -X GET "http://localhost:9200/sales/order/_search?pretty=true" -d '{

"query": {

"query_string": {

"query": "shohi*",

"fields": [

"billing_name"

]

}

},

"facets": {

"facet_result": {

"terms": {

"fields": [

"status"

],

"order": "term",

"size": 15

}

}

}

}'

单面结果中多个字段的示例:

curl -X GET "http://localhost:9200/sales/order/_search?pretty=true" -d '{

"query": {

"query_string": {

"query": "shohi*",

"fields": [

"billing_name"

]

}

},

"facets": {

"facet_result": {

"terms": {

"fields": [

"status",

"customer_gender",

"state"

],

"order": "term",

"size": 15

}

}

}

}'

2)使用多方面结果集:

curl -X GET "http://localhost:9200/sales/order/_search?pretty=true" -d '{

"query": {

"query_string": {

"query": "*",

"fields": [

"increment_id"

]

}

},

"facets": {

"status_facets": {

"terms": {

"fields": [

"status"

],

"size": 50,

"order": "term"

}

},

"gender_facets": {

"terms": {

"fields": [

"customer_gender"

]

}

},

"state_facets": {

"terms": {

"fields": [

"state"

],

,

"order": "term"

}

}

}

}'

参考链接:http :

//www.elasticsearch.org/guide/reference/api/search/facets/terms-

facet.html

以上是 Elasticsearch中的多个分组依据 的全部内容, 来源链接: utcz.com/qa/426839.html

回到顶部