Lucene V3.0.2分词、高亮

来源:互联网 发布:java精彩编程200例 编辑:程序博客网 时间:2024/05/16 07:03

Lucene版本升级到3.0以后,原来的分词方式(token=tokenStream.next())的方式已经被抛弃,转而使用TermAttribute,本例使用SmartChineseAnalyzer演示如何分词,此外,本例还演示了如何对命中文档域进行高亮显示。

 

 

本例需要使用四个jar包:

lucene-core-3.0.3.jar 

lucene-highlighter-3.0.2.jar

lucene-smartcn-3.0.2.jar

lucene-memory-3.0.2.jar

 

在高亮时有一个特别需要注意的问题:

当输入的查询词为"人民币升值"时,会抛出NoClassDefFoundError:org/apache/lucene/index/memory/MemoryIndex异常,如果将“人民币”与“升值”使用空格分开,则不会出现此异常。

解决方式是将lucene-memory-3.0.2.jar添加到classpath中。