lucene学习 IKAnalyzer分词器

本文详细介绍了Lucene分词器的词典扩展方法,包括基于API的词典扩展和基于配置的词典扩充。通过示例展示了如何加载用户自定义词汇到词典中,以及如何在IKAnalyzer.cfg.xml文件中配置专用词典和停止词典。
摘要由CSDN通过智能技术生成

Lucene 学习   分词器

 

 

Analyzer analyzer = new IKAnalyzer();

 

 

分词器词典扩展方法:

1.基于API的词典扩展

 

IK 分词器支持使用API编程模型扩充您的词典和停止词典。如果您的个性化词典是存

储于数据库中,这个方式应该对您适用。API如下: 

   类org.wltea.analyzer.dic.Dictionary 

说明: IK 分词器的词典对象。它负责中文词汇的加载,内存管理和匹配检索。 

   public static void addWords(Collection<String> words) 

说明:加载用户扩展的词汇列表到IK 的主词典中,增加分词器的可识别词语。 

参数1:Collection<String> words , 扩展的词汇列表 

返回值:无 

  public static void disableWords(Collection<String> words) 说明:屏蔽词典中的词元 参数1:Collection<String> words, 待删除的词列表 返回值:无

 

Dictionary dictionary = Dictionary.initial(Configuration.getInstance());
List<String> wordList = new ArrayList<String>();
wordList.add("用例");
dictionary.addWords(wordList);

2.基于配置的词典扩充 

 

IK 分词器还支持通过配置IKAnalyzer.cfg.xml 文件来扩充您的专有词典以及停止词典

(过滤词典)。 

 1.  部署IKAnalyzer.cfg.xml 

IKAnalyzer.cfg.xml 部 署 在 代 码 根 目 录 下 ( 对 于web项 目 , 通 常 是

WEB-INF/classes目录)同hibernate、log4j等配置文件相同。 

 2.  词典文件的编辑与部署 

 

分词器的词典文件格式是无BOM的UTF-8编码的中文文本文件,文件扩展名不

限。词典中,每个中文词汇独立占一行,使用\r\n的DOS方式换行。(注,如果您不

了解什么是无BOM的UTF-8格式, 请保证您的词典使用UTF-8存储,并在文件的

头部添加一空行)。您可以参考分词器源码org.wltea.analyzer.dic包下的.dic 文件。 

词典文件应部署在Java 的资源路径下,即ClassLoader能够加载的路径中。(推

荐同IKAnalyzer.cfg.xml放在一起) 

 3.  IKAnalyzer.cfg.xml 文件的配置 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 
	<entry key="ext_dict">ext.dic;</entry> 
	-->
	<entry key="ext_dict">myext1.dic</entry>
	<!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords">stopword.dic;</entry> 
	
</properties>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值