Solr整合中文分词mmseg4j
1. Summary
本次使用的是Solr-4.7.0整合mmseg4j-1.9.1,下载mmseg4j-1.9.1.zip,把dist下面的jar文件拷贝到${solr-4.7.0}/WEB-INF/lib中,共三个jar文件
- mmseg4j-analysis-1.9.1.jar,
- mmseg4j-core-1.9.1.jar
- mmseg4j-solr-1.9.1.jar
2. 修改core中配置文件schema.xml
在core的配置文件(schema.xml)中,添加使用中文分词器的fieldtype。例如:${Solr.home}/collection1/conf/schema.xml
<!-- mmseg4j--> <fieldType name="text_complex" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="text_maxword" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="text_simple" class="solr.TextField" positionIncrementGap="100" > <analyzer> <!-- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/> --> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/> </analyzer> </fieldType> <!-- mmseg4j-->
mmseg4j使用的是MMSeg算法,算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。
上例中添加了三中fieldtype,他们主要区别是使用的模式不同:
- text_simple 使用Simple分词方法
- text_complex Complex 加了四个规则过虑
- text_maxword 默认。在complex基础上实现了最多分词(max-word)。“很好听” -> "很好|好听"; “中华人民共和国” -> "中华|华人|共和|国"; “中国人民银行” -> "中国|人民|银行"。
3. 源码修改
运行服务器,检验中文分词。当输入‘中华人民共和国’并单机“Analyse Values”按钮时,出现如下错误:
修改mmseg4j-analysis模块的源码文件:com.chenlb.mmseg4j.analysis.MMSegTokenizer增加如下一行代码:
public void reset() throws IOException { //lucene 4.0 //org.apache.lucene.analysis.Tokenizer.setReader(Reader) //setReader 自动被调用, input 自动被设置。 + super.reset(); mmSeg.reset(input); }
保存后,重新编译打包:
mvn clean package -DskipTests
成功运行后如下:
相关推荐
mmseg4j-solr-2.3.0-with-mmseg4j-core是Solr的中文分词包,该压缩包含有mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar。
兼容solr4.10.3的mmseg4j-1.9.1分词器
mmseg4j-solr-2.3.0.jar 支持 solr5.x 版本以上 分词器本身并未做升级还是mmseg4j-core-1.10.0 和 mmseg4j-analysis-1.9.1.jar为了方便也一并上传
solr6配置mmseg4j,里面包含mmseg4j需要jar包、dic文件、详细配置说明文档,里面有详细截图和需要文件
mmseg4j-core-1.10.0+mmseg4j-solr-2.3.0()mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ])
solr 分词器 mmseg4j IKAnalyzer
solr6.3下好用的mmseg4j分词库,测试可用。
与solr4.8匹配的mmseg4j分词器的版本
能兼容solr-4.10.2的分词器,大礼包...包括IK分词器,mmseg4j分词器,庖丁分词器.都是经本人测试可用,其中mmseg4j与庖丁都是下载源码,修改重编译并测试生成的.希望大家喜欢.至于与solr的整合方式,网上很多,这里就不介绍了.
本人用的solr是4.10的,经过本人亲测可用,放心下载,包含以下3个jar包: mmseg4j-analysis-1.9.1.jar, mmseg4j-core-1.9.1.jar, mmseg4j-solr-2.2.0.jar
里面包含了mmseg4j-solr-2.0.0.jar,mmseg4j-solr-2.1.0.jar,mmseg4j-solr-2.2.0.jar,mmseg4j-solr-2.3.0.jar总共4个文件,其中: mmseg4j-solr-2.0.0.jar 要求 lucene/solr >= 4.3.0。在 lucene/solr [4.3.0, 4.7.1]...
solr6配置mmseg4j所需dic文件和jar包,包括word.dic,mmseg4j-core-1.10.0.jar,mmseg4j-solr-2.3.0.jar
NULL 博文链接:https://iamyida.iteye.com/blog/2221224
中文分词 solr 支持solr 4.7
mmseg4j-solr-mmseg4j-solr-2.2.0.zip
Solr3.2+mmseg4j-1.8.4中文搜索引擎 demo 在C盘根目录
1、mmseg4j最新jar完美整合solr-5.3.0。 2、mmseg4j-solr-2.3.1-SNAPSHOT.jar mmseg4j-core-1.10.1-SNAPSHOT.jar
mmseg4j中文分词器 mmseg4j-core-1.10.0.jar mmseg4j-solr-2.3.0.jar两个主要依赖包
该压缩包包含`mmseg4j-solr-2.3.2.jar`和`mmseg4j-core-1.10.0.jar`,其中solr-2.3.2不是官方的版本,该版本有改动,使得mmseg4j可以很好的支持Solr6,如果你的Solr低于Solr6,请使用官方的mmseg4j-solr-2.3.0.jar...
mmseg4j用Chih-Hao Tsai 的MMSeg算法实现的中文分词器,并实现lucene的analyzer和solr的TokenizerFactory以方便在Lucene和Solr中使用。 MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex...