solr8.9.0添加、配置中文分詞器IKAnalyzer


一,IKAnalyzer簡介

  IKAnalyzer是一個開源的,基於java語言開發的輕量級的中文分詞工具包。說白了就是把一句很長的話分成一個一個的詞或字以便我們搜索。

二、相關特性:

  1.采用了特有的“正向迭代最細粒度切分算法“,具有60萬字/秒的高速處理能力。
  2.采用了多子處理器分析模式,支持:英文字母(IP地址、Email、URL)、數字(日期,常用中文數量詞,羅馬數字,科學計數法),中文詞匯(姓名、地名處理)等分詞處理。
  3.對中英聯合支持不是很好,在這方面的處理比較麻煩.需再做一次查詢,同時是支持個人詞條的優化的詞典存儲,更小的內存占用。
  4.支持用戶詞典擴展定義。
  5.針對Lucene全文檢索優化的查詢分析器IKQueryParser;采用歧義分析算法優化查詢關鍵字的搜索排列組合,能極大的提高Lucene檢索的命中率。

三、如果之前沒添加過Core或者第一次進入此頁面要首先添加Core,如下圖所示

點擊添加后出出錯說solrcobfig.xml不存在,打開solrhome后發現里面多了一個collection1的文件夾,這時打開solr安裝包下solr(用來當solrhome那個文件夾或者直接去你復制來的本地solrhome里的configsets下就能找到)找到conf文件夾將其整個整個復制到collection1里面。

from:

 to:

然后來到瀏覽器點擊Add Core按鈕就可以創建成功了。

四、先來看看不配置中文分詞時的效果,它是一個字一個字的分,這樣是沒有意義的簡單說就是分了個寂寞。

五、去maven直接下載相關的ik-analyzer-8.3.0.jar包。

1.網上有很多方法說直接去給個鏈接去下載,下載后里面有一個jar包一個配置文件xml,兩個分詞相關dic文件,現在solr已經更新到了版本8,版本9已發布在即,這種方式早已失去了作用。

2.maven下載地址:https://mvnrepository.com/artifact/com.github.magese/ik-analyzer/8.3.0

3.下載后直接復制到tomcat里對應的WEB-INF>lib下

六、添加擴展包(不做此步驟會報ClassNotFoundException)

繼續去solr安裝包找,在下找到lucene-analyzers-smartcn-8.9.0.jar復制到tomcat里對應的WEB-INF>lib(上圖)下。

 七、配置中文分詞器,每個ik-analyzer-xxx.jar對應的配置方式不一樣,我上面從maven下載的是ik-analyzer-8.3.0.jar版本,這里提供8.3.0版本的配置方式,如果不對應啟動tomcat會報異常ClassNotFoundException。

在solrhome>collection1>conf里面找到managed-schema打開配置(之前的舊版本的solr是在schema.xml里面進行配置,新版本8.9.0你會發現並沒有這個文件)

 在文件managed-schema里最后面(</schema>標簽里面)添加如下代碼:

<!-- ik分詞器 -->
<!-- ChineseAnalyzer 自帶的中文分詞器 -->
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
</fieldType>

八、啟動tomcat可以看到分詞成功了,不再是之前一個字一個字的分了,出現了詞匯。

 

 solr8.9.0的安裝部署可查看:https://www.cnblogs.com/smiles365/articles/15269607.html


免責聲明!

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



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