处理关键字的代码如下: String keyWord = null; if(keyWord != null && keyWord.trim() != “” && keyWord != ” ” && keyWord.trim().length()>0){ if(keyWord.getBytes().length > keyWord.length()){ String[] string = kw.split(“”); for(String s : slist){ }else{ String[] string = keyWord.split(“”); for(String s : slist){ WildcardQuery q = new WildcardQuery(new Term(k,”*”+keyWord+”*”)); 还请各位大虾指点指点~~!小弟不甚感激~~! |
|
20分 |
LZ 可以断点跟踪,看看每一行处理的结果是什么。如果不好debug,可以多些打印,将每个定义的变量或者计算结果打印出来。
调用split的地方需要特别注意,很容易出问题。 |
感谢~!
已经试过打印与DEBUG,这是搜索对象 +(+val:*l* +val:*u*) +val:*lu* +(srcid:[77 TO 77]) 主要是因为直接用通配符查询时有这个问题,所以后来才又加上了逐字通配查询,结果还是一样… |
|
数据库所存数据问题,与lucene查询无关,项目一直存在的错误,导入数据时有冲突情况… 线程不安全, 本该存一组数据的存了2~3组…
|