CJKAnalyzer|学习笔记

简介: 快速学习 CJKAnalyzer

开发者学堂课程【Lucene 知识精讲与实战(上)  CJKAnalyzer】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/700/detail/12342


CJKAnalyzer

CJKAnalyzer 它也叫做中日韩分词器。

它的特点是:支持中日韩文字,CJK 就是这三个国家的缩写,它采用的分词算法比较复杂,它对中文使用二分法分词(假设对“这个支持中日韩文字”进行二分法分词,会分为“这个 个支 支持 持中 中日 日韩 韩文 文字”),会去掉空格、标点符号,大写字母会转换成小写字母。

1.测试

把测试代码进行复制,粘贴到测试类中。

(1)请看以下代码:

/**

*中日韩分词器:使用二分法分词,去掉空格,去掉标点符号,所有大写字母转换成小写字母。

*@throws Exception

*/

@Test

public void TestwhitespaceAnalyzer throws Exception{

//1.创建分词器,分析文档,对文档进行分词

Analyzer analyzer new WhitespaceAnalyzer ();

//2.创建 Directory 对象,声明索引库的位置

Directory directory = FSDirectory.open(Paths.get("E:\\dir"));

//3、创建 IndexwriteConfig 对象,写入索引需要的配置

IndexwriterConfig config = new IndexwriterConfig(analyzer);

//4.创建 Indexwriter 写入对象

Indexwriter indexwriter = new Indexwriter(directory,config);

/5.写入到索引库,通过 Indexwriter 添加文档对象 document

Document doc = new Document

doc.add(new TextField("name","vivo X238GB+128GB 幻夜蓝",Field.Store.YEs));

indexwriter.addDocument (doc);

//6.释放资源

indexwriter.close();

}

(2)演示前先关闭 look 小工具,防止占用磁盘。

(3)如图:

image.png

将索引库之前的内容清除。

(4)执行测试代码,如图:

image.png

(5)执行完成之后,打开 look 小工具,查看分词好的内容。

如图:

image.png

分成了六个词:幻夜、夜蓝、x23、vivo、sgb、128gb 。

可以看到,它的分词效果比之前 Lucene 自带的分词器效果好。但是还是达不到企业执行的效果。

以上就是 CJKAnalyzer 执行的效果。

相关文章
|
存储 C语言 C++
C++学习笔记(day1)
C++学习笔记(day1)
|
自然语言处理 开发者 索引
SimpleAnlyzer|学习笔记
快速学习 SimpleAnlyzer
SimpleAnlyzer|学习笔记
|
缓存 Dubbo 应用服务中间件
本地存根|学习笔记
快速学习本地存根
本地存根|学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
Python
雨痕大神的《学习笔记系列》
雨痕大神的《学习笔记》可以在他的GitHub(https://github.com/qyuhen/book)下载,7000+的Star,足以证明认可度。 笔记系列陆陆续续在出版,已出版的有: 《Python 3学习笔记(上卷)》https://www.
3724 0
|
开发者 索引
MatchAllQuery|学习笔记
快速学习 MatchAllQuery。
128 0
|
开发者
SearchType 详解|学习笔记
快速学习 SearchType 详解。
260 0
|
人工智能 算法 开发者
SDV 要解决的问题 | 学习笔记
快速学习 SDV 要解决的问题
|
安全 Java 大数据
回顾 | 学习笔记
快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用