Solr4.8.1+mmseg4j1.9.1 集成

           大家好,我是一网菜鸟网(http://www.sklll.com)站长,网站目前正在维护中,今天在这里做一下Solr4.x和mmseg41.9.1集成的详细文章说明,包括mmseg4j1.9.1的一些源码的修改,大家有什么不懂的可以给我留言或者到我群(225223397)内一起导论,我邮箱sklll@126.com。


        前面我们讲了solr4.8.1和tomcat7集成,这里再讲一下中文分词,中文分词最简单集成的是IK分词器,但是IK分词器似乎不是那么理想,所以我考虑集成mmseg4j。

        由于solr的版本比较高,所以我们也选择版本较高的mmseg4j,这里选用的是mmseg4j1.9.1,具体下载我就不说了,下载一个下面的包就可以了。

      


       解压mmseg4j,并将\mmseg4j-1.9.1\dist目录下的jar包全部放到\server\solr\WEB-INF\lib下,再到\home\collection1\conf下找到schema.xml,加上如下代码:


  <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" >    
        <analyzer>    
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>    
        </analyzer>    
    </fieldType>    
    <fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" >    
        <analyzer>    
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>    
        </analyzer>    
    </fieldType>    
    <fieldType name="text_mmseg4j_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--> 

这时候运行tomcat,访问solr选择分词就会报如下错误:




我们这里需要修改solr的源代码,找到\mmseg4j-1.9.1\mmseg4j-analysis\src\main\java\com\chenlb\mmseg4j\analysis\MMSegTokenizer.java,修改如下图:

修改后运行mvn clean package -DskipTests进行打包,这里网上也有一些资料,但是都没有说具体的怎么打包,对于不熟悉maven的人来说有一定困难。


maven安装好了后,只需要输入上面一行命令回车就行了。至于maven的安装我就不说了。

这时候\mmseg4j-1.9.1\mmseg4j-analysis包下回多了一个文件夹,打开它就可以看到新的jar包了,把项目中的包替换掉就可以了。






到这里就都解决了,重启启动tomcat,运行界面如下:


大功告成了,下一节,我们再讲和其他中文分词器集成。

我的网站目前还在研发中,欢迎关注下,网站名称:一网菜鸟网,网址:sklll.com   敬请关注

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值