Lucene学习(二)

7. IKAnalyzer中文分词器

分词方式:细粒度切分 和 最大词长切分
如下为示例
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包
最大词长分词后结果类似如下:
ikanalyzer | 是 | 一个 | 开源 | 的 | 基于 | java | 语言 | 开发 | 的 | 轻量级 | 的 | 中
文 | 分词 | 工具包 |

最细粒度分词后结果类似如下:
ikanalyzer | 是 | 一个 | 一 | 个 | 开源 | 的 | 基于 | java | 语言 | 开发 | 的 | 轻
量级 | 量级 | 的 | 中文 | 分词 | 工具包 | 工具
在这里插入图片描述
在这里插入图片描述
然后我们需要修改代码里面的分词器为IkAnalyzer而不是StandardAnalyzer
在这里插入图片描述

9. 高亮

在这里插入图片描述

10. 索引库优化

10.1 indexWriter.optimize()方法使用
新增数据时在提交前使用optimize()方法: 将把产生.cfs的文档和原来的文档压缩并合并为一个
在这里插入图片描述
在这里插入图片描述
10.2 indexWriter.setMergeFactor()方法使用
关键代码:
//通过设置合并因子合并文件,如下:产生三个cfs文档(包括合并的)将压缩合并成一个
indexWriter.setMergeFactor(3);
在这里插入图片描述

10.3 使用内存索引库

10.3.1使用示例说明
主要用来模仿从硬盘索引库读入数据到内存索引库,并从内存索引库读到数据,然后添加数据到内存索引库,再从内存索引库读数据(多了新增的数据),最后把内存索引库的数据写入到硬盘索引库。
关键代码:
//使用硬盘索引库
Directory fsDirectory = Configuration.getDirectory();
//使用内存索引库,将把硬盘库上的相关信息加载到内存,注意:必须要硬盘索引库目录的存在
Directory ramDirectory = new RAMDirectory(fsDirectory);

10.3.2修改操作类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java全栈研发大联盟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值