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