solr 實現 中文分詞,IK Analyzer -开发者知识库

solr 實現 中文分詞,IK Analyzer -开发者知识库,第1张

solr默認是不支持中文分詞的,這樣就需要我們手工配置中文分詞器,在這里我們選用IK Analyzer中文分詞器。

IK Analyzer下載地址:https://code.google.com/p/ik-analyzer/downloads/list

如圖:
solr 實現 中文分詞,IK Analyzer -开发者知识库,第2张

 

 

默認大家已經下載並解壓了solr,在這里我們使用solr 4.10.4版本

試驗環境centos 6.5 JDK1.7

整合步驟

1:解壓下載的IK Analyzer_2012_FF_hf1.zip壓縮包,把IKAnalyzer2012FF_u1.jar拷貝到solr-4.10.4/example/solr-webapp/webapp/WEB-INF/lib目錄下

2:在solr-4.10.4/example/solr-webapp/webapp/WEB-INF目錄下創建目錄classes,然后把IKAnalyzer.cfg.xmlstopword.dic拷貝到新創建的classes目錄下即可。

3:修改solr coreschema文件,默認是solr-4.10.4/example/solr/collection1/conf/schema.xml,添加如下配置

   

  <fieldType name="text_ik" class="solr.TextField">

<!--索引時候的分詞器-->
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<!--查詢時候的分詞器-->
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
   <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>   <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>  <!-- general -->  <field name="id"        type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>  <field name="name"      type="text_ik"   indexed="true"  stored="true"  multiValued="false" />    <field name="content"      type="text_ik"   indexed="true"  stored="true"  multiValued="true" />   <field name="_version_" type="long"     indexed="true"  stored="true"/>

4:啟動solrbin/solr start

5:進入solr web界面http://localhost:8983/solr,看到下圖操作結果即為配置成功

solr 實現 中文分詞,IK Analyzer -开发者知识库,第3张

 

 

到現在為止,solr就和IK Analyzer中文分詞器整合成功了。

 

但是,如果我想自定義一些詞庫,讓IK分詞器可以識別,那么就需要自定義擴展詞庫了。

操作步驟:

1:修改solr-4.10.4/example/solr-webapp/webapp/WEB-INF/classes目錄下的IKAnalyzer.cfg.xml配置文件,配置如下

   

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴展配置</comment>
<!--用戶可以在這里配置自己的擴展字典 -->
<entry key="ext_dict">ext.dic;</entry>

<!--用戶可以在這里配置自己的擴展停止詞字典-->
<entry key="ext_stopwords">stopword.dic;</entry>

</properties>

注意字典的格式,是一行寫一個詞

2:新建ext.dic文件(擴展字典),在里面添加如下內容(注意:ext.dic的編碼必須是Encode in UTF-8 without BOM,否則自定義的詞庫不會被識別)

     超人學院

3:新建stopword.dic(擴展停止詞字典,即以該詞為分界線分詞),在里面添加

中國

中華人民

solr 實現 中文分詞,IK Analyzer -开发者知识库,第4张

3:重啟solr

4:在solr web界面進行如下操作,看到圖中操作結果即為配置成功。

solr 實現 中文分詞,IK Analyzer -开发者知识库,第5张

高亮顯示我們會在下一篇文章中介紹

 

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复