首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Spring-data-elasticsearch中禁用页面查询

如何在Spring-data-elasticsearch中禁用页面查询
EN

Stack Overflow用户
提问于 2015-06-09 19:17:00
回答 1查看 3.2K关注 0票数 2

我使用spring-data-elasticsearch框架从elasticsearch服务器获取查询结果,java代码如下:

代码语言:javascript
运行
复制
public void testQuery() {
    SearchQuery searchQuery = new NativeSearchQueryBuilder()
        .withFields("createDate","updateDate").withQuery(matchAllQuery()).withPageable(new PageRequest(0,Integer.MAX_VALUE)).build();
    List<Entity> list = template.queryForList(searchQuery, Entity.class);
    for (Entity e : list) {
        System.out.println(e.getCreateDate());
        System.out.println(e.getUpdateDate());
    }
}

我在服务器中获取原始查询日志,如下所示:

代码语言:javascript
运行
复制
{"from":0,"size":10,"query":{"match_all":{}},"fields":["createDate","updateDate"]}

根据查询日志,spring-data-elasticsearch将为查询添加大小限制。"from":0, "size":10,如何避免添加大小限制?

EN

回答 1

Stack Overflow用户

发布于 2015-06-10 05:26:07

您不希望这样做,您可以在返回Iterable的存储库上使用findAll功能。我认为获取所有项目的最好方法是使用扫描/滚动功能。也许下面的代码块可以把你带到正确的方向:

代码语言:javascript
运行
复制
    SearchQuery searchQuery = new NativeSearchQueryBuilder()
            .withQuery(QueryBuilders.matchAllQuery())
            .withIndices("customer")
            .withTypes("customermodel")
            .withSearchType(SearchType.SCAN)
            .withPageable(new PageRequest(0, NUM_ITEMS_PER_SCROLL))
            .build();
    String scrollId = elasticsearchTemplate.scan(searchQuery, SCROLL_TIME_IN_MILLIS, false);
    boolean hasRecords = true;
    while (hasRecords) {
        Page<CustomerModel> page = elasticsearchTemplate.scroll(scrollId, SCROLL_TIME_IN_MILLIS, CustomerModel.class);
        if (page != null) {
            // DO something with the records
            hasRecords = (page.getContent().size() == NUM_ITEMS_PER_SCROLL);
        } else {
            hasRecords = false;
        }
    }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30730504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档