如何在Elasticsearch中的多个索引之间进行聚合?

时间:2017-04-07 09:39:31

标签: elasticsearch elasticsearch-5

我正在使用Elasticsearch 5.3。其中,我有两个索引,log2sessionId。我想同时对它们进行聚合。它们存储不同的数据,但共享单个字段location的相同数据。在以下查询中,字段eventlog1位于logEntryTimeeventlog2位于event。字段INIT在两个索引中但包含不同的数据。数据EXITlog2仅出现在curl -XGET '127.0.0.1:9200/log1,log2/_search?pretty' -H 'Content-Type: application/json' -d ' { "aggs": { "sessions": { "terms": { "field" : "sessionId" }, "aggs": { "docs": { "top_hits": { "size": 1, "_source": [ "location" ] } }, "event_count": { "value_count" : { "field" : "event" } }, "events" : { "filters" : { "filters" : { "inits" : { "match" : { "event" : "INIT" }}, "exits" : { "match" : { "event" : "EXIT" }} } }, "aggs": { "time": { "top_hits": { "size": 1, "_source": [ "logEntryTime" ] } } } } } } } }'

location

查询的目的是从log1获取每个会话ID的事件数和相应的logEntryTime,并在{{log2时从event获取INIT 1}}是EXITlog2。我的查询现在不会返回log1的任何数据,只有来自{{1}}的部分会返回数据。

问题是什么以及如何解决?

0 个答案:

没有答案