一.默认分词器
默认使用的标准分析器StandardAnalyzer
二.查看分词器的分词效果
使用Analyzer对象的tokenStream方法返回一个tokenStream对象。该对象包含最终分词结果。
1.实现步骤
(1)创建一个Analyzer对象,StandardAnalyzer对象。
(2)使用分析器的tokenStream方法返回一个tokenStream对象。
(3)向tokenStream对象中设置一个引用,相当于一个指针。
(4)调用tokenStream对象中的rest方法,如果不调用抛出异常。
(5)使用while循环遍历tokenStream对象。
(6)关闭tokenStream对象。
2.范例
三.IKAnalyzer【中文解析器】
1.使用方法
- 把IKAnalyzer的jar包放入工程中。
- 把配置文件和扩展词典添加到工程的classpath下。
注意事项:扩展词典严禁使用windows的记事本进行编辑。需要保证扩展词典的编码格式为utf-8。
扩展词典的作用:可以添加新的词。
停用词典的作用:无意义的词或者敏感词典。
2.停用词典和扩展词典的图解
3.范例
(1)代码块
(2)扩展词典
(3)停用词典
(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对象。