在弹性搜索索引中减去两个字段

时间:2014-07-03 17:50:10

标签: elasticsearch

我正在尝试对弹性搜索中索引的字段进行一些分析。

其中两个字段是'start_time'和'end_time'。我基本上想要将这两个字段的差异分组,即('end_time' - 'start_time')用于我的分析。但是,我无法找到这个问题的直接答案。

请求您提供帮助。

**编辑**

根据以下PPearcy的回答,我已经探讨了术语聚合,并将其应用于索引。但是,由于我仍在探索术语聚合,因此我尚未在查询中应用script。但是,我在这里面临另一个问题: -

我的索引包含3,513,903个文档,大小为2.1 GB。这是我的问题: -

$ curl -X GET http://localhost:9200/rum_beacon/rum/_search -d '{"aggs":{"resp":{"terms":{"field":"response_start"}}}}' 2>/dev/null| python -c "import sys, json, pprint; j=json.load(sys.stdin); buckets=j['aggregations']['resp']['buckets'];m=map(lambda x: x,buckets); pprint.pprint( m)"

[{u'doc_count': 124219, u'key': 0, u'key_as_string': u'0'},
 {u'doc_count': 73779, u'key': 1, u'key_as_string': u'1'},
 {u'doc_count': 27135, u'key': 2, u'key_as_string': u'2'},
 {u'doc_count': 10569, u'key': 3, u'key_as_string': u'3'},
 {u'doc_count': 6065, u'key': 4, u'key_as_string': u'4'},
 {u'doc_count': 4498, u'key': 157, u'key_as_string': u'157'},
 {u'doc_count': 4473, u'key': 144, u'key_as_string': u'144'},
 {u'doc_count': 4461, u'key': 162, u'key_as_string': u'162'},
 {u'doc_count': 4443, u'key': 164, u'key_as_string': u'164'},
 {u'doc_count': 4434, u'key': 155, u'key_as_string': u'155'}]

**问题:**

我无法获得所有response_start字段的结果。我在响应json中只得到10个值。

**我尝试了什么**

我尝试在json请求中提供size字段,但是,我仍然只在响应中获得10个值: -

$ curl -X GET http://localhost:9200/rum_beacon/rum/_search -d '{"size":50,"aggs":{"resp":{"terms":{"field":"response_start"}}}}' 2>/dev/null| python -c "import sys, json, pprint; j=json.load(sys.stdin); buckets=j['aggregations']['resp']['buckets'];m=map(lambda x: x,buckets); pprint.pprint( m)"


[{u'doc_count': 124219, u'key': 0, u'key_as_string': u'0'},
 {u'doc_count': 73779, u'key': 1, u'key_as_string': u'1'},
 {u'doc_count': 27135, u'key': 2, u'key_as_string': u'2'},
 {u'doc_count': 10569, u'key': 3, u'key_as_string': u'3'},
 {u'doc_count': 6065, u'key': 4, u'key_as_string': u'4'},
 {u'doc_count': 4498, u'key': 157, u'key_as_string': u'157'},
 {u'doc_count': 4473, u'key': 144, u'key_as_string': u'144'},
 {u'doc_count': 4461, u'key': 162, u'key_as_string': u'162'},
 {u'doc_count': 4443, u'key': 164, u'key_as_string': u'164'},
 {u'doc_count': 4434, u'key': 155, u'key_as_string': u'155'}]

1 个答案:

答案 0 :(得分:2)