首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ElasticSearch中访问脚本中的文档id?

如何在ElasticSearch中访问脚本中的文档id?
EN

Stack Overflow用户
提问于 2015-09-03 08:50:55
回答 1查看 1.1K关注 0票数 1

我试图编写一个在文档类型上聚合的查询。问题是,文档类型可以从文档id中获得--它是id的第4-5个字符,比如BPR:fawL5CcPE72Wf3m93hU2。

下面是我放在一起的查询:

代码语言:javascript
复制
{
    "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]]];

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-03 08:54:49

您只需使用 aggregation并在其中输入脚本:

代码语言:javascript
复制
{
  "query": {
    "match_all": {}
  },
  "aggregations": {
    "by_document_type": {
      "terms": {
        "script": "doc['_id'].value.substring(0, 3)",
        "order": {
          "_count": "desc"
        }
      }
    }
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32371060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档