solr8.6新增中文分詞器
阿新 • • 發佈:2020-11-27
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"按鈕可以看到結果已經分詞成功了。