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中常用的中文分词组件,它的加入增强了Solr在中文处理上的能力。 **压缩包子文件的文件名称列表解析:** 1. `mmseg4j-core-1.9.1.jar`:这是mmseg4j的核心库文件,包含了mmseg4j的主要分词算法和...
本文将详细介绍如何将mmseg4j最新版的jar文件完美地整合到Solr-5.3.0中,以实现更高效的中文分词功能。 首先,mmseg4j-solr-2.3.1-SNAPSHOT.jar和mmseg4j-core-1.10.1-SNAPSHOT.jar是mmseg4j的核心组件,分别提供了...
能兼容solr-4.10.2的分词器,大礼包...包括IK分词器,mmseg4j分词器,庖丁分词器.都是经本人测试可用,其中mmseg4j与庖丁都是下载源码,修改重编译并测试生成的.希望大家喜欢.至于与solr的整合方式,网上很多,这里就不介绍了.
通过以上步骤,你将成功地在Tomcat中整合Solr3.6并利用MMSEG4J实现中文分词。这只是一个基础的配置,实际应用中可能需要根据业务需求进行更复杂的定制和优化。例如,为满足实时性要求,可能需要配置实时索引和搜索;...
通过以上步骤,我们能够成功地将MMSEG4J整合到Lucene项目中,实现更精准的中文分词。同时,提供的项目实例为开发者提供了一个直观的学习平台,有助于更好地理解和运用这一技术。在实际开发中,不断优化和调整,以...
**mmseg4j 2.3 Jar包:Lucene中文分词器详解** 在中文信息处理领域,分词是至关重要的第一步,它涉及到文本的预处理、搜索索引的构建以及信息检索等多个环节。mmseg4j是一款针对Java平台设计的高效、灵活的中文分词...
在 Solr 6.1 版本中,IK+MMSEG 分词器的整合意味着用户可以在享受 IK Analyzer 高效分词性能的同时,利用 MMSEG 的复杂词汇处理能力。这种组合可以处理各种复杂的中文文本,包括网络语言、专业术语等,对于提升搜索...
为了支持中文分词,需要将mmseg4j的jar包添加到Solr的类路径中: - `mmseg4j-all-1.8.5.jar` - `mmseg4j-solr-1.8.5.jar` 将这些文件复制到`E:\Solr\server\solr\WEB-INF\lib`目录下。 ##### 步骤8:配置mmseg4j...
提到的“solr4.7中文分词架包”应该是包含了Solr 4.7版本和meseg4j的整合包。这个包通常包含了Solr服务器所需的所有依赖,包括meseg4j的jar文件,使得用户可以直接部署和使用。安装这个包,用户可以快速搭建支持中文...
将mmseg分词器的JAR文件(如`mmseg-solr.jar`, `mmseg-core.jar`, `mmseg-analyzer.jar`或`mmseg-all.jar`)复制到`server/solr/WEB-INF/lib`目录下。 2. **修改schema.xml**: 打开`home/config/schema.xml`文件...
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/> <filter class="solr.LowerCaseFilterFactory"/> ``` ...
- **复杂模式**: 结合MMSEG四种过滤算法,能够有效去除歧义,分词准确率高达**98.41%**。 - **检测模式**: 只返回词库中存在的词条,适用于特定的应用需求。 3. **自定义词库**: 用户可以在**lexicon文件夹**下...