2019独角兽企业重金招聘Python工程师标准>>>

定义一个MYCONFIG类实现Configuration接口

package util;import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.InvalidPropertiesFormatException;
import java.util.List;
import java.util.Properties;import org.wltea.analyzer.cfg.Configuration;public class MyConfig  implements Configuration
{private static final Configuration CFG=new MyConfig();/*** 分词器默认字典路径*/private  String PATH_DIC_MAIN = "org/wltea/analyzer/dic/main2012.dic";private static final String PATH_DIC_QUANTIFIER = "org/wltea/analyzer/dic/quantifier.dic";public static String getEXT_DICT() {return EXT_DICT;
}public static void setEXT_DICT(String eXT_DICT) {EXT_DICT = eXT_DICT;
}private static final String FILE_NAME = "IKAnalyzer.cfg.xml";//保留静态自定义词库的功能private static  String EXT_DICT = "ext_dict";//配置扩展词典private static final String EXT_STOP = "ext_stopwords";//配置扩展停止词典private Properties props;private boolean useSmart;//是否使用Smart方式public static Configuration getInstance(){return CFG;}
/*** 初始化配置文件*/
public MyConfig(){this.props = new Properties();//InputStream input = getClass().getClassLoader().getResourceAsStream("IKAnalyzer.cfg.xml");InputStream input = getClass().getClassLoader().getResourceAsStream(FILE_NAME);if (input != null)try {this.props.loadFromXML(input);} catch (InvalidPropertiesFormatException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public boolean useSmart(){return this.useSmart;}//设置useSmart标志位public void setUseSmart(boolean useSmart){this.useSmart = useSmart;}/*** 设置主词典路径*/public void setMainDictionary(String path){this.PATH_DIC_MAIN=path;}public String getMainDictionary(){return PATH_DIC_MAIN;}/*** 获取量词词典路径* */public String getQuantifierDicionary(){return PATH_DIC_QUANTIFIER;}/*** 获取扩展字典配置路径*/public List<String> getExtDictionarys(){List<String> extDictFiles = new ArrayList<String>(2);String extDictCfg = this.props.getProperty(EXT_DICT);if (extDictCfg != null){String[] filePaths = extDictCfg.split(";");if (filePaths != null) {for (String filePath : filePaths) {if ((filePath != null) && (!"".equals(filePath.trim()))) {extDictFiles.add(filePath.trim());}}}}return extDictFiles;}/*** 获取扩展停止词典配置路径*/public List<String> getExtStopWordDictionarys(){List<String> extStopWordDictFiles = new ArrayList<String>(2);String extStopWordDictCfg = this.props.getProperty(EXT_STOP);if (extStopWordDictCfg != null){//使用分隔多个扩展字典配置String[] filePaths = extStopWordDictCfg.split(";");if (filePaths != null) {for (String filePath : filePaths) {if ((filePath != null) && (!"".equals(filePath.trim()))) {extStopWordDictFiles.add(filePath.trim());}}}}return extStopWordDictFiles;}
}

实例化词典时:

MyConfig cfg = new MyConfig.getInstance();MyConfig.setPath_DIC_MAIN("org/wltea/analyzer/dic/zwm.dic");Dictionary.initial(cfg);

转载于:https://my.oschina.net/xiaoshoubingliang/blog/740880

关于IKAnalyzer自定义分词的切换主词典的方法相关推荐

  1. word拼写检查自定义词典下载_如何在Word中限制拼写检查到主词典 | MOS86

    Word允许您添加自定义字典以在检查拼写时使用.当您运行拼写检查器或Word自动检查拼写输入时,文档中的单词将与主词典和您可能添加的任何自定义词典进行比较. 相关文章图片1tupian如何在Word ...

  2. solr集成IKAnalyzer中文分词器

    如果想要知道如何安装solr,集成IKAnalyzer中文分词器,批量导入数据库数据,java使用参照以下本博主博文: 安装solr https://blog.csdn.net/u013294097/ ...

  3. IKAnalyzer 中文分词器

    IK Analyzer 2012 介绍 IK Analyzer 是一个开源的,基亍 java 语言开发的轻量级的中文分词工具包.从 2006 年 12 月推出 1.0 版开始, IKAnalyzer ...

  4. Elasticsearch(二) ik分词器的安装 以及 自定义分词

    ik分词器作为elasticsearch的一个插件,则是安装在es插件中. ik分词器的安装 1,创建ik分词目录上传与es相同版本的ik分词器插件,不同版本可能es启动 报错 在elasticsea ...

  5. Ik分词器(自定义分词-mysql)

    引言:ik分词器的分词范围不够广泛.某些特定行业的专业用语分词能力就不够了,此时就需要自定义分词,与停顿词. 1.下载ik分词器源码 git地址:https://github.com/medcl/el ...

  6. 如何在基于Lucene的中文分词器中添加自定义词典(如Paoding、mmseg4j、IK Analyzer)...

    如何在基于Lucene的中文分词器中添加自定义词典(如Paoding.mmseg4j.IK Analyzer) 2013-07-08 21:54:29|  分类: 计算机 |字号 订阅 1. 使用Pa ...

  7. 【IKAnalyzer】IKAnalyzer中文分词器的使用

    IKAnalyzer中文分词器的使用 IK-Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包,也就是可以将一串中文字符分割成一个个的词组或者字词 安装 修改pom文件 < ...

  8. Solr使用IKAnalyzer中文分词器配置教程

    Solr使用IKAnalyzer中文分词器配置教程 文件准备 开始配置 1.将分词器jar包放到自定义lib目录下 2.将IKAnalyzer.cfg.xml配置文件放到core的conf目录下 3. ...

  9. Java实现敏感词过滤 - IKAnalyzer中文分词工具

    IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...

最新文章

  1. centos6.7部署solr-6.3.0
  2. desc excel 公式_Excel小技巧之Power Pivot Generate函数、高级DAX函数与常用筛选器函数...
  3. html间数据传送,Express框架与html之间如何进行数据传递(示例代码)
  4. devops工作流程_DevOps会偷我的工作吗?
  5. Mendeley文献管理软件
  6. ORACLE取周、月、季、年的開始时间和结束时间
  7. 中国人工智能学会通讯——深度学习与推荐系统 1.2 基于特征的推荐 (Feature-based Recommendation)...
  8. MySQL查看和修改数据库存储目录
  9. 判断Windows服务是否启动
  10. BIO,NIO,AIO总结
  11. 小米12s 12sU 12sP 12x 12pro天玑版等小米机型通用解锁bl 刷写root全部步骤教程
  12. 编辑器、编译器和IDE的区别
  13. npm connect ETIMEDOUT 报错
  14. 计算机03年word做母亲节贺卡,怎样制作母亲节贺卡
  15. deactivate不能关闭venv
  16. redis通过key模糊搜索_redis key模糊查找
  17. Hadoop 3.X 和 2.X 的常用端口号和配置文件
  18. C#程序打印AX2012的SSRS
  19. set,setenv和export
  20. 进大厂要背八股文吗?这是我见过最好的回答

热门文章

  1. [TJOI2009] 战争游戏
  2. Codeforces Round #480 (Div. 2) B. Marlin
  3. 每天一个linux命令:【转载】less命令
  4. SVO实时全局光照优化(里程碑MK2):Sparse Voxel Octree based Global Illumination (SVO GI)...
  5. LeetCode | 3 Sum
  6. apache rewrite机制
  7. 排序 -> 选择排序
  8. 犯病的chorme(谷歌浏览器)之css加载失败
  9. 全网最好懂的Spring AOP原理
  10. async/await 顺序执行和并行