ElasticSearch 中的 matchAllQuery()

matchAllQuery() in ElasticSearch

Elasticsearch 中的 matchAllQuery() 只给我 10 个结果 我该如何增加它的输出以便我可以获得尽可能多的结果。

代码

 QueryBuilder query = QueryBuilders.matchAllQuery();

默认返回10条结果,需要增加size参数:

SearchRequestBuilder request = client.prepareSearch(index)
    .setQuery(QueryBuilders.matchAllQuery())
    .setSize(100);

是的,你可以做到,在这里你可以传递 aPageRequestcount 任何你想要的,如果你不希望 Elastic 搜索中不存在任何记录,那么 repository.count() 将适用于此 :-

int aPageRequestcount = (int) repository.count();

NativeSearchQueryBuilder aNativeSearchQueryBuilder = new NativeSearchQueryBuilder();  
      aNativeSearchQueryBuilder.withIndices(indexName).withTypes(type).withPageable(new PageRequest(0, aPageRequestcount));
final BoolQueryBuilder aQuery = new BoolQueryBuilder();


NativeSearchQuery nativeSearchQuery = aNativeSearchQueryBuilder.withQuery(aQuery).build();
                = elasticsearchTemplate.queryForList(nativeSearchQuery, A.class);