java 单例 字典 动态

编程入门 行业动态 更新时间:2024-10-10 23:25:48

java 单例 <a href=https://www.elefans.com/category/jswz/34/1770269.html style=字典 动态"/>

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 单例 字典 动态

本文发布于:2024-03-08 13:17:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720986.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字典   动态   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!