欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

解决solr4.x搭建ik不能智能分词

解决solr4.x搭建ik不能智能分词

2015年03月24日 17:13:00 iteye_2022 阅读数:20                

下载IKAnalyzer-2012FF_hf1之后。与solr4.x匹配,但其文档中介绍的useSmart一直无法使用和生效。                

schema配置如下:                


               

  1. <span style="font-size:14px;"><!--配置IK分词器-->                            
  2.                                 <fieldType name="text_ik" class="solr.TextField">        
  3.                                 <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer" />  <!--索引时候的分词器-->    
  4.                                 <analyzer type="query" isMaxWordLength="true"  class="org.wltea.analyzer.lucene.IKAnalyzer" /> <!--查询时候的分词器-->                            
  5.                                 </fieldType></span>                            

但是真正测试结果是无效的的,全部都是最细粒切词。
               


               

如图:                 


               

为了解决这个问题,网上分享了他人的资料,解决了这个问题。新增两个类,然后重新编译打包。 打包后jar包:                

链接:http://pan.baidu.com/s/1i4qs1Yt 密码:ix1r                

重新指向ik的配置                


               

  1.                                 <!-- IKAnalyzer 中文分词 -->                            
  2.                                 <fieldType name="text_ik" class="solr.TextField"                            
  3.                                 positionIncrementGap="100">
  4.                                 <analyzer type="index">                            
  5.                                 <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="false" />                            
  6.                                 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopword.dic" enablePositionIncrements="true" />                            
  7.                                 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />                            
  8.                                 <filter class="solr.LowerCaseFilterFactory" />                            
  9.                                 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"  splitOnCaseChange="1"/>  
  10.                                 </analyzer>                            
  11.                                 <analyzer type="query">                            
  12.                                 <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="true" />                            
  13.                                 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopword.dic" enablePositionIncrements="true" />                            
  14.                                 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />                            
  15.                                 <filter class="solr.LowerCaseFilterFactory" />                            
  16.                                 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"  splitOnCaseChange="1"/>  
  17.                                 </analyzer>                            
  18.                                 </fieldType>                            
  19.                                 <!-- 引用智能分词 -->                            
  20.                                 <fieldType name="smart_ik" class="solr.TextField">                            
  21.                                 <analyzer >                            
  22.                                 <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="true" /><!-- 智能分词 -->                            
  23.                                 </analyzer>                            
  24.                                 </fieldType>                            
  25.                                 <!-- 引用最细粒 -->                            
  26.                                 <fieldType name="tiny_ik" class="solr.TextField">                            
  27.                                 <analyzer >                            
  28.                                 <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="false" /><!-- 最细粒分词 -->                            
  29.                                 </analyzer>                            
  30.                                 </fieldType>                            
               


               


重启:结果如下


               


               

来自  https://blog.csdn.net/iteye_2022/article/details/82616388
                           
普通分类: