Solr學習(二) Solr4.2.0+IK Analyzer 2012
本章簡單講述如何在solr中配置著名的 IK Analyzer 分詞器。
通過(一)的介紹,目前已經成功部署好單實例 solr+tomcat
下載 “IK Analyzer 2012FF_hf1.zip”包。 詳見:IK Analyzer中文分詞器創始人 林良益 博客
IK源目錄:解壓縮“IK Analyzer 2012FF_hf1.zip”後得到的文件夾路徑。解壓縮後得到下圖結構東東
IK三把刀:上圖被選中的3個文件(IKAnalyzer.cfg.xml、IKAnalyzer2012FF_u1.jar、stopword.dic)
Tomcat :以下全部指 tomcat根目錄。(例:E:\\apache-tomcat-6.0.35\\)。
打開schema.xml文件(儘量使用UE打開,防止亂碼)在<types></types>中增加如下內容
<a target=_blank href="http://item.taobao.com/item.htm?_u=gl4f5o5c437&id=39393009617"><span style="font-family:SimSun, 宋體, tahoma, arial, helvetica, sans-serif;font-size:14px;"><a target=_blank href="http://item.taobao.com/item.htm?spm=a1z09.5.0.0.xZsiWo&id=23853332746&_u=tl4f5o5d7e5&qq-pf-to=pcqq.c2c"><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></a></span></a>
這樣就OK了。 增加了用 IK分詞算法提供的字段類型。 (IK分詞算法的其他擴展配置請自行參考IK算法的配置說明文檔。在“IK三把刀”目錄裏頭的PDF文件裏有。)
可能一些朋友會想看看效果,確認一下IK分詞器成功配置,接下來我們來嘗試測試一下IK分詞效果吧。
(看到此處的朋友,其實可以跳到看 schema.xml的具體字段說明文章去。 大概瞭解一下schema.xml是幹嘛用的,不過不看也無妨,我們只是爲了證明IK配置成功。)
我們在 schema.xml 文件裏頭。找到如下代碼片段。(schema.xml文件在哪裏?看步驟2 ...)
<a target=_blank href="http://item.taobao.com/item.htm?_u=gl4f5o5c437&id=39393009617"><a target=_blank href="http://item.taobao.com/item.htm?spm=a1z09.5.0.0.xZsiWo&id=23853332746&_u=tl4f5o5d7e5&qq-pf-to=pcqq.c2c"><field name="name" type="text_general" indexed="true" stored="true"/></a></a>
意思是這裏有一個字段標示名字叫做name,類型text_general,這個時候我們把類型改變成剛剛添加的IK類型text_ik; 變成:
<a target=_blank href="http://item.taobao.com/item.htm?_u=gl4f5o5c437&id=39393009617"><a target=_blank href="http://item.taobao.com/item.htm?spm=a1z09.5.0.0.xZsiWo&id=23853332746&_u=tl4f5o5d7e5&qq-pf-to=pcqq.c2c"><field name="name" type="text_ik" indexed="true" stored="true"/> </a></a>
進入solr界面 http://localhost:8080/solr
選擇core (這裏沒有默認配置。要去選一個);我們這裏選 collection1
選擇剛剛我們針對配置的 name 字段。 然後輸入要分詞的詞語 “魔獸世界” ,點按鈕 “analyse values”; 會發現出現了分詞爲 “魔獸”“世界”
我們再試試其他沒有引用分詞器的字段的分詞效果。 我選擇了 “content” 字段,出現的結果就是全字分詞了(solr默認的一種分詞方式)。