解决方案 »

  1.   

    好吧,我解决了。
    BooleanQuery mainQuery = new BooleanQuery();TermQuery contentFilter = new TermQuery(new Term("content", "some text"));
    mainQuery.add(contentFilter, BooleanClause.Occur.MUST);BooleanQuery idFilter = new BooleanQuery();
    idFilter.setMinimumNumberShouldMatch(1);
    idFilter.add(new TermQuery(new Term("id", A)), BooleanClause.Occur.SHOULD);
    idFilter.add(new TermQuery(new Term("id", B)), BooleanClause.Occur.SHOULD);
    idFilter.add(new TermQuery(new Term("id", C)), BooleanClause.Occur.SHOULD);
    mainQuery.Add(idFilter, BooleanClause.Occur.MUST);
      

  2.   


    BooleanQuery query = new BooleanQuery();
            query.add(B, BooleanClause.Occur.SHOULD);
            query.add(C, BooleanClause.Occur.SHOULD);
            BooleanQuery booleanQuery = new BooleanQuery();
            booleanQuery.add(A, BooleanClause.Occur.MUST);
            booleanQuery.add(query, BooleanClause.Occur.MUST);