Lucene3.0 和2.4
今天开始看了下Lucene,在使用极易分词器的时候遇到一个问题:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.lucene.analysis.StopFilter.<init>(Lorg/apache/lucene/analysis/TokenStream;Ljava/util/Set;Z)V
at jeasy.analysis.MMAnalyzer.tokenStream(Unknown Source:28)
后来在网上看到别人的博客中说是极易分词不支持3.0的版本,IKAnalyzer这个是支持的。还未进行尝试。
下面是Lucene的高亮显示的部分代码,使用时便于参考:
Document docu = indexSeacher.doc(docSn);String value=docu.get("content"); SimpleHTMLFormatter sHtmlF=new SimpleHTMLFormatter("<b><fontcolor='red'>","</font></b>"); Highlighter highlighter=new Highlighter(sHtmlF,new QueryScorer(query)); highlighter.setTextFragmenter(new SimpleFragmenter(10)); if(value!=null){ TokenStream tokenStream =analyzer.tokenStream("content",new StringReader(value)); String str=highlighter.getBestFragment(tokenStream,value); System.out.println(str); }