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)); 
}