1. 程式人生 > >Solr 新增 IKAnalyzer分詞器

Solr 新增 IKAnalyzer分詞器

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的編碼方式。