Elasticsearch:对索引子集执行聚合?

时间:2018-04-18 15:01:36

标签: elasticsearch aggregation

我正在试图弄清楚是否可以对elasticsearch中的索引中的文档子集执行聚合。现在我正在玩这样的significant_terms聚合......

  "aggs" : {
    "aggs2" : {
      "filter": {
        "ids": {
          "values": [0, 1, 2, 3, 4, 5]
        }
      },
      "aggregations" : {
        "agg" : {
          "significant_terms" : {
            "field" : "contents"
          }
        }
      }
    }
  }

我可以限制执行聚合的文档吗?我正在查看过滤器聚合,但在尝试使用它时我会得到空桶。

  "aggregations": {
    "agg": {
      "doc_count": 6,
      "bg_count": 1111,
      "buckets": []
    }
  }

我可以这样做,如果是这样,身体的格式是什么?

由于

编辑:上面的例子和Val给我的例子给了我文件和一个空的聚合反应。

<div>

1 个答案:

答案 0 :(得分:0)

是的,您只需将过滤器添加到查询部分:

#!/bin/bash

# Libraries to load
LIBS1="./lib/protobuf-java-2.6.1.jar:\
./lib/jetty-server-9.2.18.v20160721.jar:./lib/jetty-util-9.2.18.v20160721.jar:./lib/servlet-api-3.1.jar:./lib/jetty-http-9.2.18.v20160721.jar:./lib/jetty-io-9.2.18.v20160721.jar:\
./lib/derby.jar:\
./lib/json-simple-1.1.1.jar:"
LIBS2=":./lib/GTFS.jar"

# Uncomment these lines for the first phase where you are determining the classes to archive. During this phase aim to get as many classes loaded as possible
# which means loading a schedule and retrieving the stop list and next vehicle information
#
#APPCDS="-Xshare:off -XX:+UnlockCommercialFeatures -XX:+UseAppCDS -XX:DumpLoadedClassList=../GtfsAppCds.lst"
#java -Xmx512m $APPCDS -Dderby.system.home=database -classpath $LIBS1$LIBS2 com.transitrtd.GtfsOperatorManager

# Uncomment these lines when the class list is created and run to create the shared archive. Classes marked as unverifiable will need to be removed from the
# archived class list in GtfsAppCds.lst and the lines below run again. LIBS2 above contains jars which are left out of the archive. These are jars which change
# frequently and would therefore cause the archive to be frequently rebuilt.
#                                                                                                                                                                                                               
#APPCDS="-Xshare:dump -XX:+UnlockCommercialFeatures -XX:+UseAppCDS -XX:SharedClassListFile=../GtfsAppCds.lst -XX:SharedArchiveFile=../GtfsAppCds.jsa"
#java -Xmx512m $APPCDS -classpath $LIBS1

# Uncomment these lines when wishing to verify the application is using the shared archive.
#
#APPCDS="-Xshare:on -XX:+UnlockCommercialFeatures -XX:+UseAppCDS -XX:SharedArchiveFile=../GtfsAppCds.jsa -verbose:class"
#java -Xmx512m $APPCDS -Dderby.system.home=database -classpath $LIBS1$LIBS2 com.transitrtd.GtfsOperatorManager