1. 程式人生 > >solr5.3 實現同義詞 擴充套件詞典 停止詞典 功能介紹

solr5.3 實現同義詞 擴充套件詞典 停止詞典 功能介紹

  配置同義詞首 擴充套件詞典 停止詞典等功能 先是要基於中文分詞的基礎上進行的,如果檢索關鍵詞不能夠進行中文分詞那麼是查詢不到相關的同義詞的(配置中文分詞可參考:點選開啟連結

  在進行配置前需要先下載下修改後的IK分詞jar包:IK分詞jar

找到solrhome中schema.xml檔案進行新增如下配置:

(schema.xml檔案需要將同目錄下的 managed-schema 改名而來)

然後編輯/solr-5.5.0/server/solr/core1/conf/solrconfig.xml,將以下程式碼註釋掉:
<schemaFactory class="ManagedIndexSchemaFactory">
  <bool name="mutable">true</bool>
 <str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>

 <fieldType name="text_ik" class="solr.TextField">  
   <analyzer type="query">  
   	<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/>  
   	<filter class="solr.LowerCaseFilterFactory"/>  
   </analyzer>  
   <analyzer type="index">  
  	<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="fasle"/>  
 	<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />  
	<filter class="solr.LowerCaseFilterFactory"/>  
   </analyzer> 
 </fieldType>  
      
在schema.xml檔案中新增一個欄位並且引用text_ik分詞:
   <field name="content" type="text_ik" indexed="true" stored="true" multiValued="false" />
完成配置之後儲存

下面我們就需要新增一下我們同義詞進行測試下是否成功

在schema.xml同級目錄下有synonyms.txt 這個資料夾 我們配置的同義詞就在這個檔案中


格式 ,好隔開  一行為一個同義詞 儲存 啟動服務 到admin頁面檢視效果


下面說下擴充套件詞典和停止詞典的配置

解壓剛才下載的jar包 將 ext.dic  IKAnalyzer.cfg.xml  stopword.dic 三個檔案複製到


將上面複製的三個檔案貼上到apache-tomcat-7.0.47\webapps\solr\WEB-INF\classes目錄下


為修改ext.dic 如果


編輯ext.dic檔案新增我們要擴充套件的詞彙例如:河北廊坊(格式一行為一個片語)

新增之後 儲存 重新啟動服務如圖 : 河北廊坊已經成為一次片語出現

注: 如果編輯ext.dic時候未出現效果 需要將ext.dic格式設定為UTF-8格式



擴充套件的停止詞彙同理配置

停止詞彙含義:編輯到 stopword.dic 檔案中的詞彙  在搜尋的時候不會以片語的形式出現

例如:麻痺  這個片語放到了stopword.dic 中  在搜尋時 麻痺 這個詞就不會在出現了