当前位置:编程学习 > JAVA >>

lucene全文检索的字符处理

我想在搜索框输入#%&+\这类的字符,数据库中有,我想查到,怎么处理?
之前找到一个转义的方法,不报错但是查不到,我用java做的,
我的转义方法是
 public static String transformSolrMetacharactor(String input){
        StringBuffer sb = new StringBuffer();
        String regex = "[+\\-&|!(){}\\[\\]^\"~*?:(\\)]";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        while(matcher.find()){
            matcher.appendReplacement(sb, "\\\\"+matcher.group());
        }
        matcher.appendTail(sb);
        System.out.println("~~~~~~~~~~555555555~~~~~~~~~~~~~"+sb.toString());
        return sb.toString();
    } Lucene
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,