语言分析包org.apache.lucene.analysis

来源:互联网 发布:java类加载过程 编辑:程序博客网 时间:2024/05/17 00:55
语言分析包org.apache.lucene.analysis

Analyzer是一个抽象类,司职对文本内容的切分词规则。

 

切分后返回一个TokenStreamTokenStream中有一个非常重要方法next(),即取到下一个词。简单点说,通过切词规则,把一篇文章从头到尾分成一个个的词,这就是org.apache.lucene.analysis的工作。

 

对英文而言,其分词规则很简单,因为每个单词间都有一个空格,按空格取单词即可,当然为了提高英文检索的准确度,也可以把一些短语作为一个整体,其间不切分,这就需要一个词库,对德文、俄文也是类似,稍有不同。

 

对中文而言,文字之间都是相连的,没有空格,但我们同样可以把字切分,即把每个汉字作为一个词切分,这就是所谓的“切字”,但切字方式方式的索引没有意义,准确率太低,要想提高准确度一般都是切词,这就需要一个词库,词库越大准确度将越高,但入库效率越低。

 

若要支持中文切词,则需要扩展Analyzer类,根据词库中的词把文章切分。

简单点说,org.apache.lucene.analysis就是完成将文章切分词的任务

原创粉丝点击