lucene怎么对包含特殊字符的字段做处理:如c++ lucene特殊字符 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private static final String[] stopWords = { "and", "or" }; private static Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_47, buildCharArraySetFromArry(stopWords)); public static void analyzer() throws IOException { String text = "c++ linux中文class,java or and | + c++,射雕英雄传"; Reader reader = new StringReader(text); TokenStream ts = analyzer.tokenStream(null, reader); ts.reset(); StringBuilder sb = new StringBuilder(); while (ts.incrementToken()) { CharTermAttribute ct = ts.getAttribute(CharTermAttribute.class); sb.append(ct.toString()).append("|"); } System.out.println("result = " + sb); }不管怎么做,做index的时候都会把+ | 之类的给直接过滤掉。 StandardAnalyzer 标准的分词器不行啊, 所以说让你用第三方的分词器。 能否推荐一个,谢谢!主要用于中文分词,实际使用的是SmartChineseAnalyzer 能否推荐一个,谢谢!主要用于中文分词,实际使用的是SmartChineseAnalyzer用这个吧ikanalyzer, 支持扩展词库, 我有个demo你可以下载参考下。http://download.csdn.net/detail/whos2002110/7688007 ikanalyzer+1功能还是比较强大的。你如果像保留c++这个特殊词的话,设置一个词库就好了 利用File类实现文件/目录改名功能,操作格式:java Rename 原名字 新名字。 request.getLocalPort() 获取的到底是什么? 文本框键盘如何屏蔽输入? 求一正则表达式 请问这个数据该怎么处理才能保存到数组? POI setCellStyle 没效果。。。。。。。。。。。。。。。。 applet的问题 java画饼图 学JBuilder最好的书是什么?? 高分求代码!!!! java中有表示枚举类型的语句吗 关于构造顺序的一个小问题!
String text = "c++ linux中文class,java or and | + c++,射雕英雄传";
Reader reader = new StringReader(text);
TokenStream ts = analyzer.tokenStream(null, reader);
ts.reset();
StringBuilder sb = new StringBuilder();
while (ts.incrementToken()) {
CharTermAttribute ct = ts.getAttribute(CharTermAttribute.class);
sb.append(ct.toString()).append("|");
}
System.out.println("result = " + sb);
}不管怎么做,做index的时候都会把+ | 之类的给直接过滤掉。
http://download.csdn.net/detail/whos2002110/7688007