lucene多条件搜索时or与and问题

lucene版本:3.6
分词器:ansj_seg-master

在lucene多条件搜索时,想根据两个字段去做搜索,创建的Query如下所示

    Analyzer analyzer = new AnsjAnalysis();
    String paramsStr[] = new String[] { "CA0000001", "特惠" };
    String keys[] = new String[] {"code", "name" };
    BooleanClause.Occur occur[] = new BooleanClause.Occur[] { BooleanClause.Occur.MUST,
            BooleanClause.Occur.MUST};
    Query query = MultiFieldQueryParser.parse(Version.LUCENE_36, paramsStr, keys,
            occur, analyzer);

索引中确定有code为"CA0000001",name为"特惠"的数据,但就是为BooleanClause.Occur.MUST时找不到,如果为BooleanClause.Occur.SHOULD,则可以查询到那条数据

请问各位要怎么解决?

should戴表两个字段中必须有一个..must是必须都存在...你看看大小写啥的..有可能建索引的时候全都小写了

分词器是全都转换成小写的,所以肯定是统一了的

好像发现问题了,MultiFieldQueryParser是分词查询,而建索引时那个code字段是Index.NOT_ANALYZED的,所以不行。感谢ansj提醒