条款聚合不给桶

时间:2015-10-09 11:53:30

标签: elasticsearch

我正在尝试简单的术语聚合,但结果不是创建存储桶。这是一个示例文档:

   "hits": {
      "total": 27330,
      "max_score": 0.8293952,
      "hits": [
         {
            "_index": "policy",
            "_type": "policy",
            "_id": "W0051311PNWO",
            "_score": 0.8293952,
            "_source": {
               "productname": "UK CARGO",
               "alternateproductname": "ABC39393939",
               "brokername": "Name***",
               "agentname": "Name***",
               "policyref": "ABC33333",
               "client": "International Cargo Limited",
               "addressline1": "",
               "post/zipcode": "",
               "telephone": null,
               "bapolicyendorseid": 123334,
               "prevcertnum": "",
               "policystatus": "Endorsed",
               "@version": "1",
               "@timestamp": "2015-10-09T11:11:02.018Z"
            }
         },

以下是汇总搜索(在意义上):

get policy/policy/_search
{
  "aggs": {
    "statuses": {
      "terms": {
        "field": "policystatus"
      }
    }
  }
}

我试图得到相当于:

select policystatus, count(*) from policy group by policystatus

结果没有显示存储桶。它显示了常规文档结果:

{
   "took": 6,
   "timed_out": false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 227398,
      "max_score": 1,
      "hits": [
         {
            "_index": "policy",
            "_type": "policy",
            "_id": "04/QQQ/04UKI0018",
            "_score": 1,
            "_source": {
               "productname": "2 RES 01/09/04",
               "alternateproductname": "2 RES 01/09/04",
               "brokername": "Blah LTD",
               "agentname": "Insurance",
               "policyref": "blah",
               "client": "blah",
               "addressline1": "blah",
               "post/zipcode": "blah",
               "telephone": null,
               "bapolicyendorseid": 21427,
               "prevcertnum": "04UKI0018",
               "policystatus": "Pending",
               "@version": "1",
               "@timestamp": "2015-10-09T11:10:10.146Z"
            }
         },

1 个答案:

答案 0 :(得分:1)

试试这个:

GET /policy/policy/_search?search_type=count
{
  "aggs": {
    "statuses": {
      "terms": {
        "field": "policystatus"
      }
    }
  }
}

表示大写字母GETsearch_type=count只能获取存储桶,而不是hits