Solr6自定义mmseg4j中文分词库,升级mmseg4j
来源:互联网 发布:点歌软件 编辑:程序博客网 时间:2024/06/05 08:59
摘要: mmseg4j支持用户自定义词库,这个配置过程相对简单,但是由于Solr6的API变动,使得mmseg4j无法使用自己的中文分词库,如果想使用这一功能,只能改源码了。
mmseg4j 版本与其对应的Solr版本
mmseg4j 1.8.3 只支持 lucene 2.9/3.0 接口 和 solr 1.4。
mmseg4j 1.8.5 支持 lucene 3.1, solr 3.1。
mmseg4j 1.9.0 支持 lucene 4.0, solr 4.0。
mmseg4j 1.9.1 支持 solr/lucene 4.3.1。
mmseg4j-solr-2.0.0.jar 要求 lucene/solr >= 4.3.0。
mmseg4j-solr-2.1.0.jar 要求 lucene/solr 4.8.x。
mmseg4j-solr-2.2.0.jar 要求 lucene/solr [4.9, 4.10.x]。
mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ]
mmseg4j 作者chenlb目前仅支持最高Solr5
配置mmseg4j 词库
上一篇[Solr6配置中文分词],已经简单配置了mmseg4j分词,当时去掉了dicPath
参数,该参数指定了自定义词库的路径,默认相对于solr_home,也可以是绝对路径。下面我在solr_home中新建文件夹dictionary
,并在schema.xml
中配置。
自定义词库文件
mmseg4j的自定义词库文件命名规则是
wordsXXX.dic
, mmseg4j 可以从多个文件读取词。它的格式是一行一条数据, XXX 部分是如您自己写的名字,如:源码包里的 data/words-my.dic。注意:自定义词库文件名必需是 “words” 为前缀和 “.dic” 为后缀。并且文件是UTF-8编码的无BOM格式。
在dictionary
文件夹下,新建文件words-mmseg4j.dic
,然后每行一条记录,添加你的自定义词组。
保存文件,在windows平台下,默认使用的是ASCI编码方式,需要转化成UTF-8编码,使用Notepad++可以方便做到,选择以UTF-8无BOM格式编码
,保存。
如果没有这个软件,可以用记事本的另存为
功能,选择编码方式为UTF-8,那如何做到无BOM格式呢?最简单的方式就是文件的第一行留空,从第二行开始添加你的自定义词组。
升级mmseg4j
启动Solr,发现出现异常,好像是mmseg4j词库的工具栏报错:java.lang.NoSuchMethodError: org.apache.solr.core.SolrResourceLoader.getInstanceDir()Ljava/lang/String;
at com.chenlb.mmseg4j.solr.Utils.getDict(Utils.java:18)
于是,想办法升级mmseg4j,使其支持Solr6
- Solr6自定义mmseg4j中文分词库,升级mmseg4j
- Solr6配置中文分词库mmseg4j
- Solr6适配自定义升级版mmseg4j
- Solr6+中文分词(mmseg4j)
- Solr之——整合mmseg4j中文分词库
- Solr6.0.1配置中文分词器mmseg4j
- 中文分词 mmseg4j 的词库格式
- solr中mmseg4j自定义词库配置
- Solr6配置中文分词库 IKAnalyzer
- solr+mmseg4j 中文分词
- solr中文分词(mmseg4j)
- solr+mmseg4j 中文分词
- solr+mmseg4j 中文分词
- solr中文分词(mmseg4j)
- 添加中文分词(mmseg4j)
- Lucene中文分词mmseg4j
- windows solr6 mmseg4j ik sqlserver数据库
- 偷梁换柱:MMSeg4j借用庖丁解牛的词库
- float的见解
- JVM内存的设置(解决eclipse下out of memory问题)
- Android百度地图(二)
- 八大排序算法
- 用户和组管理
- Solr6自定义mmseg4j中文分词库,升级mmseg4j
- Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)
- 使用HTMLParser解析器爬取网页内容
- iTween基础之Value(数值过度)
- Hibernate面试题 --- list和iterator方法的区别
- ECMAScript6笔记:字符串的扩展(2)
- Windows 10无法设置静态IP的解决办法
- 【C/C++】int,string,char之间转换
- visual C++ 6.0开发工具与调试