2016-05-19 47 views
0

我已经在ElasticSearch索引中编制了大约30K个文档。每个文档都有一个称为严重性的字段,它是一个整数值。这些整数的范围可以从0到5,增量为1(0,1,2,3,4,5)。我想要计算严重程度为0,严重程度为1,严重程度为2等的文档数量......根据出现次数计数 - ElasticSearch

我试过了value_count和range,但它们似乎都不适合我的目的。

这是我的一个文档看起来像。有些值已被删除,但本质的东西是严重

{ 
   "_index": "incident_db", 
   "_type": "incidents", 
   "_source": { 
      "incident": { 
         "name": "something", 
         "severity": 3 
      } 
   } 
} 

回答

1

聚集根据为什么不直接使用terms aggregation这样的:

POST /incident_db/_search 
{ 
    "size": 0, 
    "aggs": { 
    "counts": { 
     "terms": { 
     "field": "incident.severity" 
     } 
    } 
    } 
} 
+0

谢谢!我没有意识到我可以在ES中进行术语搜索。 –

+0

很高兴帮助! – Val

+0

对不起,我打算立即这样做,但它不允许我。再次感谢 –