ElasticSearch 中boolQueryBuilder的使用

public void () throws IOException {
    SearchRequest searchRequest = new SearchRequest("item");
    SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
    BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
    
    boolQueryBuilder.must(QueryBuilders.matchQuery("scompCode", "G0000001"));
    // 模糊查询
    boolQueryBuilder.filter(QueryBuilders.wildcardQuery("itemDesc", "*手机*"));
    // 范围查询 from:相当于闭区间; gt:相当于开区间(>) gte:相当于闭区间 (>=) lt:开区间(<) lte:闭区间 (<=)
    boolQueryBuilder.filter(QueryBuilders.rangeQuery("itemPrice").from(4500).to(8899));
    sourceBuilder.query(boolQueryBuilder);

    searchRequest.source(sourceBuilder);
    SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
    logger.info("查询数据:{}", Arrays.toString(searchResponse.getHits().getHits()));
}
        BoolQueryBuilder boolBuilder = QueryBuilders.boolQuery();
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        boolBuilder.filter(QueryBuilders.termQuery("mobile", AppConfigConstants.MONTH_REPORT_TOTAL_USER));
        sourceBuilder.query(boolBuilder);

        SearchRequest searchRequest = new SearchRequest();
        searchRequest.indices(AppConfigConstants.MONTH_REPORT_ES_INDEX);
        searchRequest.source(sourceBuilder);
        SearchResponse response = null;
        try {
            response = highLevelClient.search(searchRequest, RequestOptions.DEFAULT);
        } catch (IOException e) {
            logger.error("[ElasticSearchService] countTotalUserNum error!", e);
            throw new InsurfaceException(InsurfaceCodeEnum.ES_QUERY_ERROR);
        }
        BoolQueryBuilder boolBuilder = QueryBuilders.boolQuery();
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        boolBuilder.filter(QueryBuilders.rangeQuery("num").gte(userPolicyNum));
        sourceBuilder.query(boolBuilder);

        CountRequest countRequest = new CountRequest();
        countRequest.indices(AppConfigConstants.MONTH_REPORT_ES_INDEX);
        countRequest.source(sourceBuilder);
        CountResponse count = null;
        try {
            count = highLevelClient.count(countRequest, RequestOptions.DEFAULT);
        } catch (IOException e) {
            logger.error("[ElasticSearchService] search error!", e);
            throw new InsurfaceException(InsurfaceCodeEnum.ES_QUERY_ERROR);
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容