本帖最后由 ganlangreen 于 2010-11-26 11:12:05 编辑

解决方案 »

  1.   

    QueryParser parser = new QueryParser("title", new PaodingAnalyzer());
    //QueryParser parser1 = new QueryParser("channel_id", new PaodingAnalyzer());
    BooleanQuery query2 = new BooleanQuery();
    Query query = query2.rewrite(reader);
    query2.add(parser.parse("公司"), BooleanClause.Occur.MUST);
    RangeQuery q = new RangeQuery( new Term("createdate", "2008-01-01"), 
            new Term("createdate", "2010-10-31"), false ); 
    query2.add(q,BooleanClause.Occur.MUST);
    Hits hits = is.search(query);
    不知用这个咋样
      

  2.   

    Query query = query2.rewrite(reader); 没有必要在 query 拼装的时候使用吧,search的时候会自动使用rewrite方法。LZ 去了解下 query的几个API,不要依赖 MultiFieldQueryParser
      

  3.   

    嗯。小弟在这里,谢谢各位了。
    刚才写了一下。没有加query2.rewrite(reader);  这一行。