在學習solr過程中,磕磕碰碰,遇到過許多問題,所以特寫下筆記,以供需要的時候時常翻閱,也給能看到該博文的博友提供一個不全面的參考。
一、solr簡介:
Solr是一個獨立的企業及搜索應用服務器,它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。solr可以運行在Jetty、Tomcat等服務器上面。
二、solr下載:
solr最新版的下載鏈接是:http://mirrors.hust.edu.cn/apache/lucene/solr/6.4.2/,通過上述地址下載Zip文件即可,但是基於不使用最新版的保守心理,我任然在適用4.10.3版本,這里附上4.10.3版的下載地址:http://archive.apache.org/dist/lucene/solr/4.10.3/,當然,如果還是下載不了,請到我的cnbolg下下載。
三、solr安裝在Tomcat下:
1)環境介紹:
JDK:jdk1.8.0_121,請使用1.7及以上版本,筆者在JDK1.6上solr配置之后跑不起來
Tomcat:apache-tomcat-7.0.73
solr:solr-4.10.3
2)solr目錄介紹:下載solr加壓后的目錄結構如圖所示
bin是solr運行的腳本
contrib是solr的一些插件,用於擴展solr的功能
dist該文件夾下包含build過程中產生的war和jar文件,以及相關的依賴文件
doc:solr的文檔
example:solr官方提供的一些示例程序,簡要介紹幾個示例
solr:該目錄是一個包含了默認配置信息的Solr的Core目錄
multicore:該目錄包含了在Solr的multicore中設置的多個Core目錄
webapps:該目錄中包括一個solr.war,該war可作為solr的運行實例工程
licenses:solr相關的一些許可信息
3)創建solr工程
①、創建solr文件夾,在solr文件夾下創建solrHome文件夾,solrHome是solr運行的主目錄,其下可以建立多個solr實例工程,及solrCore,solrCore單獨對外提供一個搜索服務。
②、將solr-4.10.3\example\solr\下的所有文件copy到新建的solr工程的solrHome下,collection1即是一個solrCore,每個solrCore下的conf文件下都有solrconfig.xml文件,這是solrCore運行的配置文件。(solr-4.10.3是解壓下載的Zip文件)
③、將solr-4.10.3下的contrib和dist 復制到solr下,與solrHome同級
④、加載jar包:打開solrCore(collection1)下conf文件中的solrconfig.xml文件,找到引用jar包的代碼
注:1、solr.install.dir表示solrCore的位置,需要根據實際jar包的位置更改jar包引用路徑
2、每兩個點“..”代表退到上一級目錄,所以退了兩級目錄,到了solr目錄,因此上圖表示的是在引用的jar包在solr目錄下的contrib或者dist目錄下
⑤、更改dataDir:每個SolrCore都有自己的索引文件目錄 ,默認在SolrCore目錄下的data中
新建的solrCore沒有data,data在項目運行時自動生成,如上所示使用默認目錄,等於<dataDir>${solr.data.dir:E:/solr/solrHome/collection1/data}</dataDir>,如需自定義data則更改對應的路徑。
4)solr工程部署到Tomcat上
①、將solr-4.10.3\dist下的solr-4.10.3.war復制到Tomcat的webapp目錄下,並改名為solr.war
②、啟動Tomcat后,solr.war自動解壓之后刪除solr.war;或者用360壓縮工具解壓。
③、將solr-4.10.3\example\lib\ext下所有jar包復制到webapps\solr\WEB-INF\lib目錄下
④、修改webapps\solr\WEB-INF下的web.xml文件:目的是將Tomcat中的solr關聯上之前創建的solr工程
<!--設置solr工程關聯Tomcat服務器--> <env-entry> <env-entry-name>solr/home</env-entry-name> <!--在此處修改為之前創建的solr工程的路徑--> <env-entry-value>E:\solr\solrHome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
⑤、復制log4j.properties文件
在webapps\solr\WEB-INF下新建classes文件夾,將solr-4.10.3\example\resources下的log4j.properties文件復制到classes目錄下
⑥、啟動Tomcat,在瀏覽器中訪問http://localhost:8080/solr ,結果如下:
由此,solr的安裝便完成,接下來即可進行solr的學習了!