elasticsearch - Jest 客户端大小参数被忽略

标签 elasticsearch jest

我正在使用Jest Client从我的Java程序查询Elasticsearch。一切正常,除了添加“size”参数时将其忽略。搜索的构建和执行如下所示:

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”运行具有相同参数的相同查询时,或者仅将其放入浏览器中时,查询将正确运行,并且考虑了size参数。

最佳答案

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

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

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

关于elasticsearch - Jest 客户端大小参数被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603077/

相关文章:

elasticsearch - Elasticsearch多集群搜索

python - 带有嵌套过滤器的Elasticsearch-dsl以及完全匹配的AND和OR条件

elasticsearch - 解析内部匹配以及来源

elasticsearch - 如何在 Jest 中传递多个节点地址(Elasticsearch)

elasticsearch - JEST是否支持gzip进行批量操作?

elasticsearch - 正确查询ES中类似嵌套的属性(但不包含嵌套类型)

elasticsearch - Kibana Lucene日期范围

Elasticsearch reindex api - 无法复制所有文档

elasticsearch - 带有多个must子句的Elasticsearch Bool查询形成

maven - ElasticSearch:使用Jest Client添加kerberos身份验证