zoukankan      html  css  js  c++  java
  • 错误解决:ElasticSearch SearchResponse的Hits[]总是比totalHits少一条记录

    在做ElasticSearch查询操作的时候,发现Hits[].length总是比totalHits.value少1。
    代码如下:

      SearchRequest request = new SearchRequest("indexName");
      SearchSourceBuilder builder = new SearchSourceBuilder();
      BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
      builder.query(QueryBuilder.matchPhraseQuery("fieldName","searchStr"));
      builder.from(1);
      builder.size(10);
      request.source(builder);
    
      SearchResponse response = restHighLevelClient.search(request,RequestOptions.DEFAULT);
      // 获取查询总数
      System.out.println(response.getHits().getTotalHits().value);
      // 获取查询分页数量
      System.out.println(response.getHits().getHits().length);

    输出结果:

      第二行总是比第一行少1。

    按照常规分页的思想,其实应该是从第一页开始,然后跟上每页的数据,没想到这里from(1)直接把第一条数据给跳过了。

    解决办法:
      直接from(0)就ok了。

  • 相关阅读:
    神经网络回顾-感知机
    遗传算法杂记
    差分进化算法DE和粒子群算法PSO
    遗传算法GA
    Caffe学习 五 conv_layer与im2col
    Selenium
    Selenium
    Selenium
    Selenium
    Selenium
  • 原文地址:https://www.cnblogs.com/xiaoyh/p/15574706.html
Copyright © 2011-2022 走看看