`

solr中文分词(mmseg4j)

 
阅读更多

1、从http://code.google.com/p/mmseg4j/     下载mmseg4j

mmseg4j-1.8.4解压后

 

2、在$SOLR_HOME下建立lib和dic两个目录,讲mmseg4j-all-1.8.4.jar拷贝到lib目录,将data里的.dic文件拷贝到dic目录

 

3、修改Schema.xml

添加fieldType

Xml代码  收藏代码
  1.  <types>  
  2.       <fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >      
  3.            <analyzer>      
  4.               <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/opt/solr/example/solr/dic"/>      
  5.               <filter class="solr.LowerCaseFilterFactory"/>      
  6.           </analyzer>      
  7.       </fieldType>      
  8.    
  9.     <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >      
  10.        <analyzer>      
  11.            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="/opt/solr/example/solr/dic"/>      
  12.            <filter class="solr.LowerCaseFilterFactory"/>      
  13.        </analyzer>      
  14.     </fieldType>      
  15.         
  16.     <fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >      
  17.       <analyzer>      
  18.           <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="/opt/solr/example/solr/dic"/>      
  19.           <filter class="solr.LowerCaseFilterFactory"/>      
  20.       </analyzer>      
  21.     </fieldType>    
  22.   
  23. ..  
  24. </types>  

 

Xml代码  收藏代码
  1. <field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true"/>      
  2. <field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true"/>      
  3. <field name="maxword" type="textMaxWord" indexed="true" stored="true" multiValued="true"/>   

 

Xml代码  收藏代码
  1. <copyField source="simple" dest="text"/>    
  2. <copyField source="complex" dest="text"/>    

 

 

重启tomcat

 

进入 http://yourhost:8080/solr-example/admin/analysis.jsp

 

哦也,我们的中文分词大功告成了

 

我们试着提交些中文到solr里,然后进行查询

Xml代码  收藏代码
  1. chinese.xml  
  2. <add>      
  3.     <doc>      
  4.         <field name="id">1</field>      
  5.         <field name="title">夜晚和白天不同,如果相机设置不准确的话,照片拍出来就会发糊。那么本期佳能单反课堂就带您详细了解夜景拍摄的参数设置,同时为您讲解什么叫做“安全快门”。除此之外,还有更多新奇有趣的特殊拍摄手法,还等什么?马上进入本期的节目吧!</field>      
  6.     </doc>      
  7.     <doc>      
  8.         <field name="id">2</field>      
  9.         <field name="title">冰动娱乐自主研发的虚幻3即时回合制网络游戏!UnrealEngine3倾力打造、最终幻想式的创新玩法以及天马行空般的幻想三国题材将带给你耳目一新的全新感受。</field>      
  10.     </doc>      
  11.     <doc>      
  12.         <field name="id">3</field>      
  13.         <field name="title">solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目。</field>      
  14.     </doc>      
  15.     <doc>      
  16.         <field name="id">4</field>      
  17.         <field name="title">中国人民银行是中华人民共和国的中央银行。</field>      
  18.     </doc>      
  19. </add>   

 

我们用curl进行提交

命令行代码  收藏代码
  1. curl 'http://localhost:8080/solr-example/update/?commit=true' -H "Content-Type: text/xml" --data-binary @chinese.xml  

 

 

接下来我们试着查询一下:

 

查询结果

Xml代码  收藏代码
  1. <response>  
  2.     <lst name="responseHeader">  
  3.         <int name="status">0</int>  
  4.         <int name="QTime">2</int>  
  5.         <lst name="params">  
  6.             <str name="indent">on</str>  
  7.             <str name="start">0</str>  
  8.             <str name="q">title:单反</str>  
  9.             <str name="rows">10</str>  
  10.             <str name="version">2.2</str>  
  11.         </lst>  
  12.     </lst>  
  13.     <result name="response" numFound="1" start="0">  
  14.         <doc>  
  15.             <str name="id">1</str>  
  16.             <arr name="title"><str>夜晚和白天不同,如果相机设置不准确的话,照片拍出来就会发糊。那么本期佳能单反课堂就带您详细了解夜景拍摄的参数设置,同时为您讲解什么叫做“安全快门”。除此之外,还有更多新奇有趣的特殊拍摄手法,还等什么?马上进入本期的节目吧!</str></arr>  
  17.        </doc>  
  18.     </result>  
  19. </response>  

 

可能会遇到的问题:

1、在Query String:输入中文时候会乱码导致查询不到结果

解决办法:修改tomcat的server.xml

Xml代码  收藏代码
  1. <Server ...>  
  2.  <Service ...>  
  3.    <Connector ... URIEncoding="UTF-8"/>  
  4.      ...  
  5.    </Connector>  
  6.  </Service>  
  7. </Server> 
分享到:
评论

相关推荐

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

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

    solr6配置mmseg4j

    在Solr6中配置mmseg4j是为了实现中文分词,从而提升搜索效果。mmseg4j是基于Java的一个高性能中文分词库,它提供了多种分词算法,如最长匹配、最短路径等,以满足不同的分词需求。 首先,我们需要理解Solr6的基本...

    Solr3.2 + mmseg4j-1.8.4中文搜索引擎_Demo

    在"Solr3.2+mmseg4j-1.8.4中文搜索引擎 demo"项目中,`paoding-analysis.jar`是包含mmseg4j分析器的Java库文件,它提供了与Solr交互的接口,使得Solr能够使用mmseg4j进行中文分词。`readme.txt`通常包含了关于如何...

    mmseg4j-solr-2.4.0.jar

    总之,mmseg4j-solr-2.4.0.jar为Solr提供了强大的中文分词功能,使我们在处理中文信息时能获得更精准的搜索结果。通过合理的配置和调优,我们可以充分利用mmseg4j的优势,提升Solr系统的整体性能。在实际项目中,...

    solr 分词器 mmseg4j IKAnalyzer

    在 Solr 中,mmseg4j-solr-*.jar 文件用于集成 mmseg4j 到 Solr 环境,提供对中文文本的分词支持。 2. **IKAnalyzer** 是一个基于 Lucene 的开源中文分词器,它的全称是 "Intelligent Chinese Analyzer"。IK...

    solr mmseg4j 中文分词器

    mmseg4j-solr-2.3.0.jar 支持 solr5.x 版本以上 分词器本身并未做升级还是mmseg4j-core-1.10.0 和 mmseg4j-analysis-1.9.1.jar为了方便也一并上传

    solr中文分词包mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar

    mmseg4j-solr-2.3.0-with-mmseg4j-core是Solr的中文分词包,该压缩包含有mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar。

    mmseg4j-solr-mmseg4j-solr-2.2.0.zip

    mmseg4j-solr是一个专门针对Solr的中文分词组件,它在2.2.0版本中提供了高效的分词能力,为中文信息检索带来了显著的改进。 首先,我们来理解一下mmseg4j-solr的核心——mmseg(Maximum Matching Segment,最大匹配...

    在tomcat环境下搭建solr3.5和mmseg4j搜索引擎

    通过以上步骤,我们已经完成了在Tomcat环境下搭建Solr 3.5及MMSEG4J中文分词器的基础配置工作。这些配置使得Solr能够更好地处理中文文档,并提供更准确的中文检索结果。此外,通过MMSEG4J提供的不同分词模式,可以...

    mmseg4j-solr-2.1.0-with-mmseg4j-core.zip

    后者则是mmseg4j为Solr定制的插件,它使得Solr能够无缝集成mmseg4j的分词功能,为Solr的索引和查询提供强大的中文处理能力。 为了在Solr4.8中使用mmseg4j,我们需要进行以下步骤: 1. 解压下载的"mmseg4j-solr-...

    solr6配置mmseg4j所需jar包和dic文件

    在Solr6版本中,为了实现中文分词,我们通常会引入第三方分词器,如mmseg4j。mmseg4j是一个基于Java的高效中文分词库,它可以提供灵活的分词规则,适用于各种应用场景。 配置mmseg4j涉及到的主要步骤包括: 1. **...

    tomcat+solr3.6+mmseg4j

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

    跟益达学Solr5之使用MMSeg4J分词器

    本篇文章将带你深入学习如何在Solr5中集成并使用MMSeg4J分词器,提升中文处理能力。 首先,我们来了解一下MMSeg4J。这是一个高效、灵活的Java实现的中文分词库,它采用了基于词频的动态最大匹配算法(MaxMatch),...

    mmseg4j-solr-2.2.0-with-mmseg4j-core.zip

    《mmseg4j-solr-2.2.0-with-mmseg4j-core.zip:中文分词在Solr中的应用》 在现代信息检索系统中,中文分词是至关重要的一步,它能有效地将中文文本转化为可处理的词汇单元,为搜索引擎提供精准的索引与查询服务。...

    mmseg4j-solr-2.3.0&mmseg4j;-core.zip

    总之,mmseg4j作为优秀的中文分词工具,与Solr的结合使得Solr在处理中文文本时表现出色。通过理解mmseg4j的基本原理,掌握其在Solr中的配置和自定义词库的使用,我们可以更好地利用这一工具来优化搜索引擎,提升中文...

    mmseg4j完美适配solr5.2.1

    mmseg4j采用四向最大匹配算法(MaxMatch Four Direction),并结合了词典分词和统计分词,能够处理复杂多样的中文语境,提高分词的准确率。其1.10.0版本的`mmseg4j-core-1.10.0.jar`包含了mmseg4j的核心算法实现。 ...

    mmseg4j-solr全版本及配置

    而mmseg4j则是Solr中常用的中文分词组件,它能够高效地对中文文本进行分词处理。本文将深入探讨mmseg4j-solr的各个版本及其配置,旨在帮助开发者更好地理解和应用这一技术。 首先,我们需要理解mmseg4j-solr的核心...

    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的核心组件,分别提供了...

    在tomcat环境下搭建solr和mmseg4j搜索引擎

    本教程将详细阐述如何在Tomcat服务器环境下搭建Solr搜索引擎,并结合mmseg4j分词器进行文本处理,以便实现更精确的中文搜索。以下是你需要了解的关键知识点: 1. **Tomcat服务器**:Tomcat是一个开源的、轻量级的...

Global site tag (gtag.js) - Google Analytics