1. 程式人生 > >solr實現同義詞查詢及分詞粒度

solr實現同義詞查詢及分詞粒度

首先要自己修改IKAnalyzer2012FF_u2.jar包然後重新打包  

修改後的jar包下載地址:http://download.csdn.net/detail/u014793522/9594470

同義詞下載地址:

http://download.csdn.net/detail/u014793522/9594519


然後修改schema.xml檔案,在末尾處新增如下程式碼

	<!-- lang: xml -->
<fieldType name="text_syn" 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>



在增加一個field


useSmart="false"表示使用粒度進行分詞

效果如圖所示



就是將中國人在進行粒度分詞

synonyms="synonyms.txt"這個就是同義詞檔案,expand這個屬性一定要設定為true,就是儘可能多的顯示

synonyms="synonyms.txt"內容如圖所示



 
 

搜尋一下即可出現效果

後一個詞搜前一個詞

注:synonyms.txt檔案中的內容如果是相同的同義詞可以寫在同一行用,隔開



如果這樣寫我搜一個樂天知命就只能搜到安分守己 其他的幾個就不能搜出來



可以做一下修改



修改後的效果如圖所示