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值。

注意:indexed="true",solr默認下content這個字段的indexed的值是false,需要改成true,在搜索時這個字段才能用到上面的分詞器。

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

 

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

 

 再次刷新http://localhost:8983/solr頁面

(1)選擇test-> Analysis -> 選擇分詞器 content 輸入 "黑夜給了我黑色的眼睛",點擊"Analyse Values"按鈕可以看到結果已經分詞成功了。

 

(2)選擇test-> Analysis -> 選擇分詞器 name 輸入 "黑夜給了我黑色的眼睛",點擊"Analyse Values"按鈕可以看到結果已經分詞成功了。

 


免責聲明!

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



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