Solr是一個基於Lucene的Java搜索引擎服務器。Solr 提供了層面搜索、命中醒目顯示而且支持多種輸出格式(包括 XML/XSLT 和 JSON 格式)。它易於安裝和配置,並且附帶了一個基於HTTP 的管理界面。Solr已經在衆多大型的網站中使用,較爲成熟和穩定。Solr 包裝並擴展了Lucene,因此Solr的基本上沿用了Lucene的相關術語。更重要的是,Solr 建立的索引與 Lucene搜索引擎庫徹底兼容。經過對Solr 進行適當的配置,某些狀況下可能須要進行編碼,Solr 能夠閱讀和使用構建到其餘 Lucene 應用程序中的索引。此外,不少 Lucene 工具(如Nutch、Luke)也可使用Solr 建立的索引。web
solr默認是不支持中文分詞的,這樣就須要咱們手工配置中文分詞器,在這裏咱們選用IK Analyzer中文分詞器。centos
IK Analyzer下載地址:https://code.google.com/p/ik-analyzer/downloads/list服務器
如圖:
app
默認你們已經下載並解壓了solr,在這裏咱們使用solr 4.10.4版本webapp
試驗環境centos 6.5 ,JDK1.7工具
整合步驟網站
1:解壓下載的IK Analyzer_2012_FF_hf1.zip壓縮包,把IKAnalyzer2012FF_u1.jar拷貝到solr-4.10.4/example/solr-webapp/webapp/WEB-INF/lib目錄下搜索引擎
2:在solr-4.10.4/example/solr-webapp/webapp/WEB-INF目錄下建立目錄classes,而後把IKAnalyzer.cfg.xml和stopword.dic拷貝到新建立的classes目錄下便可。google
3:修改solr core的schema文件,默認是solr-4.10.4/example/solr/collection1/conf/schema.xml,添加以下配置編碼
<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>
4:啓動solr,bin/solr start
5:進入solr web界面http://localhost:8983/solr,看到下圖操做結果即爲配置成功
到如今爲止,solr就和IK Analyzer中文分詞器整合成功了。
可是,若是我想自定義一些詞庫,讓IK分詞器能夠識別,那麼就須要自定義擴展詞庫了。
操做步驟:
1:修改solr-4.10.4/example/solr-webapp/webapp/WEB-INF/classes目錄下的IKAnalyzer.cfg.xml配置文件,添加以下配置
<entry key="ext_dict">ext.dic;</entry>
2:新建ext.dic文件,在裏面添加以下內容(注意:ext.dic的編碼必須是Encode in UTF-8 without BOM,不然自定義的詞庫不會被識別)
超人學院
3:重啓solr
4:在solr web界面進行以下操做,看到圖中操做結果即爲配置成功。