solr配置同義詞,中止詞,和擴展詞庫(IK分詞器爲例)

定義

同義詞:搜索結果裏出現的同義詞。如咱們輸入」還行」,獲得的結果包括同義詞」還能夠」。web

中止詞:在搜索時不用出如今結果裏的詞。好比is 、a 、are 、」的」,「得」,「我」 等,這些詞會在句子中屢次出現卻無心義,因此在分詞的時候須要把這些詞過濾掉。tomcat

擴展詞:在搜索結果裏額外出現的詞。擴展詞只能是你輸入詞的自己或子串。好比咱們 輸入」重慶開縣人」,正常分詞獲得的結果是「重慶」 「開縣」「人」;當咱們在擴展詞里加入「重慶開縣」時,分詞的結果是「重慶開縣」「重慶」 「開縣」「人」。markdown

配置同義詞

1.在solr_home的conf目錄下的schema.xml 中配置同義詞text_syn:app

<!-- 配置IK分詞器的同義詞 --> <fieldType name="text_syn" class="solr.TextField"> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>

2.假定在solr_home的conf目錄下的schema.xml 中要對shortName字段進行同義詞配置,則咱們須要將type屬性設爲上向配置的」text_syn」webapp

<field name="shortName" type="text_syn" indexed="true" stored="true" />
  • 1

3.在conf目錄下的 synonyms.txt 中增長同義詞,如:post

這裏寫圖片描述
這裏我多說兩句:上面紅框裏的 => 右側的詞是左側詞的同義詞,多個時用空格隔開。還有就是,最好不要直接打開synonyms.txt這個文件,由於加入的漢字在保存後會查不出來,由於txt不是UTF-8的格式保存的。測試

4.測試同義詞spa

輸入高興:
  • 1

這裏寫圖片描述

輸入中華:
  • 1

這裏寫圖片描述

5.基於上面的問題,說下怎麼解決,畢竟不論咱們輸入中華仍是中國,都能有對應的同義詞結果。code

首先,咱們將synonyms.txt裏的同義詞用英文逗號隔開,而後將上面配置IK同義詞裏的expand屬性設爲truexml

這裏寫圖片描述

咱們輸入:大大的,結果以下:

這裏寫圖片描述

配置中止詞和擴展詞庫。

1.將IKAnalyzer解壓文件夾下的stopword.dic和IKAnalyzer.cfg.xml複製到tomcat/webapps/solr/WEB-INF/classes下,再新建一個ext.dic,裏面的格式和stopword.dic一致。

2.修改IKAnalyzer.cfg.xml以下面的格式能夠配置多箇中止詞或者擴展詞庫文件。

<properties> <comment>IK Analyzer 擴展配置</comment> <!--用戶能夠在這裏配置本身的擴展字典--> <entry key="ext_dict">ext.dic;</entry> <!--用戶能夠在這裏配置本身的擴展中止詞字典--> <entry key="ext_stopwords">english_stopword.dic;stopword.dic</entry> <properties> 

輸入「重慶開縣」時,正常分詞是隻有」重慶」 「開縣」的
在ext.dic裏添加了」重慶開縣」後,測試結果:
這裏寫圖片描述

輸入「重慶開縣」時,正常分詞是隻有」重慶」 「開縣」的
在stopword.dic裏添加了「開縣」以後,測試結果:
這裏寫圖片描述

注意

字段若是要能被分詞,或是中止詞,或是擴展詞,須要在schema.xml裏配置該字段時,給該字段的type屬性配成分詞類型,咱們這裏是text_ik,例:

<field name="companyName" type="text_ik" indexed="false" stored="true" multiValued="false" />
0 我的打賞
相關文章
相關標籤/搜索