solr的安裝和索引庫初始化在兩外兩個帖子里已經寫過
solr安裝:http://www.cnblogs.com/henghengdh/p/solr安裝.html
solr初始化索引庫:http://www.cnblogs.com/henghengdh/p/3467767.html
現在寫下solr的中文分詞配置。
1.首先下載最新版本的mmseg4j-1.9.1,之前我安裝的solr是4.6版本,mmseg4j-1.9.1並不支持,只好換成了solr4.5.1.
下載完后解壓,將mmseg4j-1.9.1\dist下的三個jar包放到solr服務器tomcat\webapps\solr\WEB-INF\lib下。
2.在解壓后的mmseg4j-1.9.1文件夾中找到README.txt,里邊有分詞器的配置代碼,如下
<fieldType name="textComplex" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="textMaxWord" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="textSimple" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/> </analyzer> </fieldType>
去掉dicPath="dic",然后將代碼放入$solrhome\jxet\conf\schema.xml中的types節點中
3.配置自己的索引庫字段,solr的索引庫字段配置都在$solrhome\jxet\conf\schema.xml中,詳細參看官方wiki:http://wiki.apache.org/solr/SchemaXml。我這里的配置如下
如上圖,需要分詞的字段type都改成textComplex。
然后需要納入搜索的字段單獨配下copyField,如下圖
這樣這五個字段都將被拷貝進text索引字段中,搜索是會對這幾個字段同時進行搜索。
4.配置完成后啟動solr服務器,檢驗下中文分詞是否配置成功。進入solr管理頁面,進入自己配的索引庫選項卡jxet-Analysis中,可以看到下圖
這里有我們自己配置的字段,選中任意一個我們配置了中文分詞的字段,如content,然后在Field Value (Index)框中隨便輸入一句話,然后點Analyse valuie按鈕,就可以看到分詞結果,如下
5.向索引庫中添加數據(我這里使用solrJ集成到自己的項目中使用的,后邊會再開個帖子說這部分),然后在Query選項卡中查看結果,如下圖
在q框中輸入text:期中 認真,點擊搜索,右邊的搜索結果,可以看到content中包含的“認真”和“期中”的信息被查詢了出來。