solr添加IK分詞和自己定義詞庫


 下載IK分詞IK Analyzer 2012FF_hf1.zip

下載地址:http://yunpan.cn/cdvATy8899Lrw (提取碼:c10d)

1、將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 core的schema文件,默認是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>

4、啟動solr集群

 

自定義詞庫

到sougou 下載對應的詞庫:http://pinyin.sogou.com/dict/

由於sougou 下載后的文件是scel 格式不能直接用,需要用工具轉化下格式,推薦使用深藍工具,下載地址

http://yunpan.cn/cmuyuQhCasFMR (提取碼:6432)

然后將文件格式轉化為dic結尾的。詞庫的文件格式必需是:無BOM的UTF-8格式,分詞庫可以為多個,以分號隔開即可。

 

將下載的詞庫復制到/home/hadoop/cloudsolr/solr-4.10.4/example/solr-webapp/webapp/WEB-INF/classes目錄下

修改配置文件:

<?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 jey = "mingxing">mingxing.scel</entry>
        <!--用戶可以在這里配置自己的擴展停止詞字典-->
        <entry key="ext_stopwords">stopword.dic;</entry>

</properties>


重啟solr集群

測試結果:

 

 這樣分詞有一個問題:分詞方式是按照maxword 的方式

集群啟動的時候主節點不會報錯。從節點會報錯

配置文件信息如下:

IK的lib文件已經上傳

改配置的都配置了,啟動還是報錯:

{msg=SolrCore 'collection1' is not available due to init failure: Could not load conf for core collection1: Plugin init failure for [schema.xml] fieldType "text_ik": Cannot load analyzer: org.wltea.analyzer.lucene.IKAnalyzer. Schema file is /configs/myconf/schema.xml,trace=org.apache.solr.common.SolrException: SolrCore 'collection1' is not available due to init failure: Could not load conf for core collection1: Plugin init failure for [schema.xml] fieldType "text_ik": Cannot load analyzer: org.wltea.analyzer.lucene.IKAnalyzer. Schema file is /configs/myconf/schema.xml
	at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:745)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:347)

 問題原因:

配置了IK分詞后,沒有同步到zk,刪掉zkdata 里面的數據重新啟動zk即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM