Advertisement

ElasticSearchDisMaxQueryBuilder与BoolQueryBuilder的结合使用

阅读量:
复制代码
    DisMaxQueryBuilder disMaxQueryBuilder = QueryBuilders.disMaxQuery();
    
    for (String word : wordList){
    
    List<String> subWordList = splitWord(word);
    
    BoolQueryBuilder subBoolQueryBuilder = QueryBuilders.boolQuery();
    for (String subWord : subWordList) {
        subBoolQueryBuilder.must(QueryBuilders.termQuery(DOC_FIELD, subWord)); 
    }
    
    // subWordList 的 subWord 全部和 DOC_FIELD 匹配时,constantScoreQuery分数为1,否则为0
    disMaxQueryBuilder.add(QueryBuilders.constantScoreQuery(subBoolQueryBuilder)); 
    }
    
    
      
      
      
      
      
      

全部评论 (0)

还没有任何评论哟~