1. 程式人生 > 實用技巧 >solr8.6新增中文分詞器

solr8.6新增中文分詞器

1.新增solr8 自帶分詞工具
(1)在solr安裝資料夾下面找到這個lucene-analyzers-smartcn-8.6.0.jar包


(2)複製一份到 D:\solr-8.6.0\server\solr-webapp\webapp\WEB-INF\lib 這個目錄下面


(3)接下來在你的專案conf下的配置檔案managed-schema新增以下配置

<!-- ChineseAnalyzer 自帶的中文分詞器 -->
<fieldType name="solr_cnAnalyzer" 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>

這樣就配置好了型別名稱是 solr_cnAnalyzer 的分詞器。

2.外部分詞器配置
(1)先下載solr8版本的ik分詞器,下載地址:https://search.maven.org/search?q=com.github.magese


(2)將下載好的jar包放入solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib目錄中

(3)接下來在你的專案conf下的配置檔案managed-schema新增以下配置

<!-- ik分詞器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class
="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>

3.給需要做分詞的的欄位指定分詞器

我給 name 欄位指定了solr_cnAnalyzer 分詞器、content欄位指定了text_ik 分詞器,其中 type 就是上面分詞器的name值。

<field name="name" type="solr_cnAnalyzer" indexed="true" stored="true"/>
<field name="content" type="text_ik" multiValued="true" indexed="false" stored="true"/>

4.配置完成後重啟一次solr服務

再次重新整理http://localhost:8983/solr頁面

選擇test-> Analysis -> 選擇分詞器 solr_cnAnalyzer輸入 "黑夜給了我黑色的眼睛"

點選"Analyse Values"按鈕可以看到結果已經分詞成功了。