`
p2p2500
  • 浏览: 11330 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

Solr整合中文分词mmseg4j

    博客分类:
  • Solr
 
阅读更多

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

 

成功运行后如下:

分享到:
评论

相关推荐

    兼容solr4.10.3的mmseg4j-1.9.1分词器

    而mmseg4j是Solr中常用的中文分词组件,它的加入增强了Solr在中文处理上的能力。 **压缩包子文件的文件名称列表解析:** 1. `mmseg4j-core-1.9.1.jar`:这是mmseg4j的核心库文件,包含了mmseg4j的主要分词算法和...

    mmseg4j最新jar完美整合solr-5.3.0

    本文将详细介绍如何将mmseg4j最新版的jar文件完美地整合到Solr-5.3.0中,以实现更高效的中文分词功能。 首先,mmseg4j-solr-2.3.1-SNAPSHOT.jar和mmseg4j-core-1.10.1-SNAPSHOT.jar是mmseg4j的核心组件,分别提供了...

    兼容solr4.10.2的ik-mmseg4j-paoding分词器

    能兼容solr-4.10.2的分词器,大礼包...包括IK分词器,mmseg4j分词器,庖丁分词器.都是经本人测试可用,其中mmseg4j与庖丁都是下载源码,修改重编译并测试生成的.希望大家喜欢.至于与solr的整合方式,网上很多,这里就不介绍了.

    tomcat+solr3.6+mmseg4j

    通过以上步骤,你将成功地在Tomcat中整合Solr3.6并利用MMSEG4J实现中文分词。这只是一个基础的配置,实际应用中可能需要根据业务需求进行更复杂的定制和优化。例如,为满足实时性要求,可能需要配置实时索引和搜索;...

    lucene整合mmseg4j实例和项目实例

    通过以上步骤,我们能够成功地将MMSEG4J整合到Lucene项目中,实现更精准的中文分词。同时,提供的项目实例为开发者提供了一个直观的学习平台,有助于更好地理解和运用这一技术。在实际开发中,不断优化和调整,以...

    mmseg4j 2.3 jar包

    **mmseg4j 2.3 Jar包:Lucene中文分词器详解** 在中文信息处理领域,分词是至关重要的第一步,它涉及到文本的预处理、搜索索引的构建以及信息检索等多个环节。mmseg4j是一款针对Java平台设计的高效、灵活的中文分词...

    ik+mmseg分词器

    在 Solr 6.1 版本中,IK+MMSEG 分词器的整合意味着用户可以在享受 IK Analyzer 高效分词性能的同时,利用 MMSEG 的复杂词汇处理能力。这种组合可以处理各种复杂的中文文本,包括网络语言、专业术语等,对于提升搜索...

    solr3.5与tomcat6集成,添加自己的分词器

    为了支持中文分词,需要将mmseg4j的jar包添加到Solr的类路径中: - `mmseg4j-all-1.8.5.jar` - `mmseg4j-solr-1.8.5.jar` 将这些文件复制到`E:\Solr\server\solr\WEB-INF\lib`目录下。 ##### 步骤8:配置mmseg4j...

    meseg4j分词技术

    提到的“solr4.7中文分词架包”应该是包含了Solr 4.7版本和meseg4j的整合包。这个包通常包含了Solr服务器所需的所有依赖,包括meseg4j的jar文件,使得用户可以直接部署和使用。安装这个包,用户可以快速搭建支持中文...

    solr与tomcat整合

    将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`文件...

    solr4.7服务搭建

    &lt;tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/&gt; &lt;filter class="solr.LowerCaseFilterFactory"/&gt; ``` ...

    Jcseg-开发帮助文档.pdf

    - **复杂模式**: 结合MMSEG四种过滤算法,能够有效去除歧义,分词准确率高达**98.41%**。 - **检测模式**: 只返回词库中存在的词条,适用于特定的应用需求。 3. **自定义词库**: 用户可以在**lexicon文件夹**下...

Global site tag (gtag.js) - Google Analytics