刚写了一个Lucene项目查询cms网站的数据库,用同一个查询类,查询某个字段时,控制台调用查询类,查询一切正常,web中调用该类,有些正常有些不正常,查不出任何结果。我发现是web中调用查询4个汉字的关键字时不正常,查很多时正常,比如查“传真电报”,web中查不出结果,控制台可查出所有结果,而web中查“传真”,却可以查出所有结果。我在web中已经试着在参数中直接赋值“传真电报”了,但还是查不出结果。
不知这会是什么问题?

解决方案 »

  1.   

    应该是分词器问题吧?你web中和控制台中的分词器是否一样,debug一下,应该能看到结果
      

  2.   

    在查询类中写了个测试方法:public int test() throws IOException, ParseException {
            searchPar sp = new searchPar();
            sp.setWentou("通知通报");
            Hits hs = searchProcFull(sp);
            return hs.length();
    }在该类的主方法中调用:public static void main(String[] args) throws IOException, ParseException {
            search s = new search();
            System.out.println(s.test());
    }正常打印查询结果数量。
    但是在jsp或servlet中调用该方法却返回0