Solr 新增 IKAnalyzer分詞器
阿新 • • 發佈:2019-01-11
1. 首先,下載IKAnalyzer ,下載
注意:以前老的IK 不支援Solr 5.3的版本 ,請注意下載最新的。
2.將ik的相關檔案 拷貝到 solr-webapp\webapp\solr\WEB-INF\lib 目錄下。注意:solr版本不同可能會有微小的差距我這裡使用的是solr-7.0.1版本
3.在 solr\new_core\conf\managed-schema 增加如下配置
<!-- 我新增的IK分詞 -->
<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>
同時,把需要分詞的欄位,設定為text_ik
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="name" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
<field name="category" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="content" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
<field name="price" type="double" indexed="true" stored="true" required="true" multiValued="false" />
<field name="color" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="orderBy" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="updatetime" type="date" indexed="true" stored="true" required="true" multiValued="false" />
4.在admin後臺下檢視分詞效果
5.配置IKAnalyzer分詞器的擴充套件詞典,停止詞詞典
將 資料夾下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三個檔案 複製到/webapps/solr/WEB-INF/classes 目錄下,並修改IKAnalyzer.cfg.xml
<?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 key="ext_stopwords">stopword.dic;</entry>
</properties>
在ext.dic 裡增加自己的擴充套件詞典,例如,嬰兒奶粉3段
注意: 記得將stopword.dic,ext.dic的編碼方式為UTF-8 無BOM的編碼方式。