我正在使用 Jest Client 从我的 Java 程序中查询 Elasticsearch。一切正常,除了当我添加“大小”参数时它被忽略。Search 的构建和执行如下所示:
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”在命令行上使用相同的参数运行相同的查询时,或者只是将其放入浏览器中时,查询会正确运行,并且会考虑大小参数。