我正在尝试编写一个汇总文档类型的查询。问题是,可以从文档ID中获取文档类型-它是ID的4-5个首字符,例如BPR::fawL5CcPE72Wf3m93hUg2。
这是我整理的查询:
{
"query": {
"match_all": { }
},
"aggregations": {
"by_document_type": {
"script": {
"script": "doc['_id'].value.substring(0, 3)",
"order": {
"_count": "desc"
}
}
}
}
}
但它说
Parse Failure [Could not find aggregator type [script] in [by_document_type]]];
。我做错什么了?
最佳答案
您只需要使用 terms
aggregation并在其中输入脚本即可:
{
"query": {
"match_all": {}
},
"aggregations": {
"by_document_type": {
"terms": {
"script": "doc['_id'].value.substring(0, 3)",
"order": {
"_count": "desc"
}
}
}
}
}
关于elasticsearch - 如何在ElasticSearch中的脚本中访问文档ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371060/