忽略Jest客户端大小参数

时间:2016-04-13 15:29:35

标签: elasticsearch jest

我正在使用Jest Client从我的Java程序中查询Elasticsearch。一切都正常,除非我添加"尺寸"参数被忽略。构建和执行搜索就像这样:

Search search = new Search.Builder(query)
    .setSearchType(SearchType.QUERY_THEN_FETCH)
    .addIndex(index)
    .addType(type)
    .setParameter(Parameters.SIZE, 1)
    .build();
jestClient.execute(search);

此查询始终返回10个结果,而不是预期的1个结果。如果它是相关的,则只有5个分片,因此它不会返回每个分片的结果。

是否有任何特殊原因忽略此参数?使用' curl -XGET'在命令行上使用相同参数运行相同查询时或者,只需将其放入浏览器中,查询就会正确运行,并且大小参数 被记入帐户。

1 个答案:

答案 0 :(得分:1)

事实证明我对size参数的工作方式存在误解。在确定查询结果的大小时,我相信Jest 正确处理它,但我真正感兴趣的是聚合结果。

在我的聚合中添加“size”参数,可以在Terms Aggregation文档中看到(在下面复制)。

{
    "aggs" : {
        "products" : {
            "terms" : {
                "field" : "product",
                "size" : 5
            }
        }
    }
}