字典 动态"/>
java 单例 字典 动态
参考文献:
jar包:
IK-Analyzer-extra-5.3.1.jar
IKAnalyzer5.3.1.jar
lucene-core-5.3.1.jar
lucene-analyzers-common-5.3.1.jar
一、创建类自己的分词器配置类并实现IK-Analyzer分词器的配置接口:
值得注意的一点是:我们在指定配置文件时候,要指定我们自己的配置文件。如果不指定路径默认会视作IKAnalyzer5.3.1.jar里面的IKAnalyzer.cfg.xml
importjava.io.IOException;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.InvalidPropertiesFormatException;importjava.util.List;importjava.util.Properties;importorg.apachemons.lang.StringUtils;importorg.wltea.analyzer.cfg.Configuration;public class MyConfiguration implementsConfiguration {//懒汉单例
private static final Configuration CFG = newMyConfiguration();/** 分词器默认字典路径*/
private String PATH_DIC_MAIN = "org/wltea/analyzer/dic/main2012.dic";//需要把static final去掉
private static final String PATH_DIC_QUANTIFIER = "org/wltea/analyzer/dic/quantifier.dic";/** 分词器配置文件路径*/
private static final String FILE_NAME = "com/unruly/test/IKAnalyzer.cfg.xml";//指定我们自己的分词器配置文件//配置属性——扩展字典
private static final String EXT_DICT = "ext_dict";//配置属性——扩展停止词典
private static final String EXT_STOP = "ext_stopwords";privateProperties props;/** 是否使用smart方式分词*/
private booleanuseSmart;/*** 返回单例
*
*@returnConfiguration单例*/
public staticConfiguration getInstance() {returnCFG;
}/** 初始化配置文件*/MyConfiguration() {
props= newProperties();
InputStream input= this.getClass().getClassLoader().getResourceAsStream(FILE_NAME);if (input != null) {try{
props.loadFromXML(input);
}catch(InvalidPropertiesFormatException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
}
}/*** 返回useSmart标志位 useSmart =true ,分词器使用智能切分策略, =false则使用细粒度切分
*
*@returnuseSmart*/
public booleanuseSmart() {returnuseSmart;
}/*** 设置useSmart标志位 useSmart =true ,分词器使用智能切分策略, =false则使用细粒度切分
*
*@paramuseSmart*/
public void setUseSmart(booleanuseSmart) {this.useSmart =useSmart;
}/*** 新加函数:设置主词典路径
*
*@returnString 主词典路径*/
public voidsetMainDictionary(String path) {if(!StringUtils.isBlank(path)){this.PATH_DIC_MAIN =path;
}
}/*** 获取主词典路径
*
*@returnString 主词典路径*/
publicString getMainDictionary() {returnPATH_DIC_MAIN;
}/*** 获取量词词典路径
*
*@returnString 量词词典路径*/
更多推荐
java 单例 字典 动态
发布评论