lucene的分词器

一.默认分词器

默认使用的标准分析器StandardAnalyzer

二.查看分词器的分词效果

使用Analyzer对象的tokenStream方法返回一个tokenStream对象。该对象包含最终分词结果。

1.实现步骤

(1)创建一个Analyzer对象,StandardAnalyzer对象。

(2)使用分析器的tokenStream方法返回一个tokenStream对象。

(3)向tokenStream对象中设置一个引用,相当于一个指针。

(4)调用tokenStream对象中的rest方法,如果不调用抛出异常。

(5)使用while循环遍历tokenStream对象。

(6)关闭tokenStream对象。

2.范例

lucene的分词器

三.IKAnalyzer【中文解析器】

1.使用方法

  1. 把IKAnalyzer的jar包放入工程中。
  2. 把配置文件和扩展词典添加到工程的classpath下。

注意事项:扩展词典严禁使用windows的记事本进行编辑。需要保证扩展词典的编码格式为utf-8。

扩展词典的作用:可以添加新的词。

停用词典的作用:无意义的词或者敏感词典。

2.停用词典和扩展词典的图解

lucene的分词器

3.范例

(1)代码块

lucene的分词器

(2)扩展词典

lucene的分词器

(3)停用词典

lucene的分词器

(4)停用词典和扩展词典的优先级

停用词典比扩展词典的优先级要高。所以,如果俩者同时存在,则优先选择停用词典。

四.中文解析器的实际应用

1.实现步骤

(1)创建索引

1.创建一个Director对象,指定索引库的位置

2.基于Director对象创建一个IndexWriter对象。

2.1设置自定义的解析器【设置中文解析器】

2.2创建一个IndexWriter对象

3.读取磁盘上的原始文件,对应每个文件创建一个文档对象。

4.向文档对象添加域。

5.把文档对象写到索引库。

6.关闭indexwriter对象

(2)查询索引

1.创建一个Director对象,指定索引库的位置。

2.创建一个IndexReader对象。

3.创建一个IndexSearcher对象,构造方法参数中的参数IndexReader对象。

4.创建一个Query对象。TeamQuery。

5.执行查询,得到一个TopDocs对象。

6.取出查询结果的总记录数。

7.取文档列表。

8.打印文档中的内容。

9.关闭IndexReader对象。

2.范例

(1)创建索引

lucene的分词器

lucene的分词器

(2)查询索引

lucene的分词器

五.源码

lucene.rar