• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

es6.2.4,使用bool查询查出的结果,SearchResponse的Hits[]总是比totalHits

SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(index);if (StringUtils.isNotEmpty(type)) {    searchRequestBuilder.setTypes(type.split(","));}searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH);// 需要显示的字段,逗号分隔(缺省为全部字段)if (StringUtils.isNotEmpty(fields)) {    searchRequestBuilder.setFetchSource(fields.split(","), null);}//排序字段if(CollectionUtils.isNotEmpty(sortList)){    for (EsSort esSort : sortList){        searchRequestBuilder.addSort(esSort.getFieldName(),esSort.getSortOrder());    }}// 查询字段if(CollectionUtils.isNotEmpty(matchList)){    for (EsMatchSearch esMatchSearch : matchList){        if (matchPhrase == Boolean.TRUE) {            boolQuery.must(QueryBuilders.matchPhraseQuery(esMatchSearch.getFieldName(), esMatchSearch.getValue()));        } else {            boolQuery.must(QueryBuilders.matchQuery(esMatchSearch.getFieldName(), esMatchSearch.getValue()));        }    }}// 范围查询字段if(CollectionUtils.isNotEmpty(rangeList)){    for (EsRangeSearch esRangeSearch : rangeList){        RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(esRangeSearch.getFieldName());        if(StringUtils.isNotBlank(esRangeSearch.getFrom())){            rangeQueryBuilder.from(esRangeSearch.getFrom());        }        if(StringUtils.isNotBlank(esRangeSearch.getTo())){            rangeQueryBuilder.to(esRangeSearch.getTo());        }        rangeQueryBuilder.includeLower(true)                         .includeUpper(true);        boolQuery.must(rangeQueryBuilder);    }}searchRequestBuilder.setQuery(boolQuery);// 分页应用searchRequestBuilder.setFrom(currentPage).setSize(pageSize);// 设置是否按查询匹配度排序searchRequestBuilder.setExplain(true);// 执行搜索,返回搜索响应信息SearchResponse searchResponse = searchRequestBuilder.execute().actionGet();long totalHits = searchResponse.getHits().totalHits;long length = searchResponse.getHits().getHits().length;logger.debug("共查询到[{}]条数据,处理数据条数[{}]", totalHits, length);
185001qeibxnrfnbswhxhz.jpg

用查询条件直接在es里查是正常的,通过代码的话结果集里总是少一条记录。求问有可能是什么原因呢?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

楼主找到问题原因了吗?我也是遇到这样的问题

使用道具 举报

这个问题,可以先检查一下,查询条件。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!