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 执行的效果。

相关文章
|
自然语言处理 开发者 索引
SimpleAnlyzer|学习笔记
快速学习 SimpleAnlyzer
SimpleAnlyzer|学习笔记
|
开发工具 Android开发 iOS开发
快速开始|学习笔记
快速学习快速开始
127 0
快速开始|学习笔记
|
机器学习/深度学习 算法 开发者
神经元模型| 学习笔记
快速学习神经元模型。
神经元模型| 学习笔记
|
开发者 Python
In 和 not in 的使用 | 学习笔记
快速学习 In 和 not in 的使用
|
负载均衡 开发者 索引
replicas | 学习笔记
快速学习 replicas
replicas | 学习笔记
|
弹性计算 缓存 Linux
使用 syncthing | 学习笔记
快速学习使用 syncthing,介绍了使用 syncthing 系统机制, 以及在实际应用过程中如何使用。
使用 syncthing | 学习笔记
|
算法 计算机视觉
OpenCV学习笔记--SIFT,SUFT
图像处理两大特征提取算法
172 0
|
SQL 分布式计算 资源调度
StreamSQL|学习笔记
快速学习 StreamSQL
StreamSQL|学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
机器学习/深度学习 数据采集 算法
总结与回顾 | 学习笔记
快速学习总结与回顾