solr4.7 環境搭建與執行(Win7下)
1、各版本solr與jdk的對應關係
安裝solr前需確保自己機器上已經安裝的自己solr版本對應的jdk,並已配置好環境變數。序號 | Solr版本 | JDK版本 |
---|---|---|
1 | solr-4.7.2 | Java1.6 VM or later |
2 | solr-4.8.1 | Java1.7 VM or later |
3 | solr-4.9.0 | Java1.7 VM or later |
2、Solr概述
Solr是開源的搜尋引擎,作為一款企業級的搜尋引擎伺服器,功能強大、效能卓越。現在很多網站專案中為了提高使用者良好的站內搜尋體驗,都會搭建solr來配合我們實現專業級的搜尋功能。Solr是Apache Lucene專案的子專案,是一個基於Lucene的Java搜尋引擎伺服器。
Solr 包裝並擴充套件了 Lucene,所以 Solr 的基本上沿用了Lucene的相關術語,更重要的是, Solr 建立的索引與 Lucene 搜尋引擎庫完全相容,通過對 Solr 進行適當的配置,某些情況下可能需要進行編碼, Solr 可以閱讀和使用構建到其他 Lucene 應用程式中的索引。服器通訊使用標準的HTTP和XML。
Solr支援從關係資料庫和XML文件中提取原始資料,以及能夠通過整合Tika來處理複雜文件。
Solr易於安裝和配置,而且附帶了一個基於 HTTP 的管理介面,
Solr 主要特性有:強大的全文檢索功能,高亮顯示檢索結果,動態叢集,資料庫介面和電子文件(Word ,PDF 等)的處理。而且Solr具有高度的可擴充套件,支援分佈搜尋和索引的複製。
3、環境準備
1. 下載jdk-6u43-windows-x64.exe 安裝jdk, 配置環境變數(path,classpath)
2. 下載免安裝版apache-tomcat-7.0.69-windows-x64.zip
4、在tomcat下執行solr
1. 在I:\SolrServer下新建solr資料夾(大家可以隨意選擇安裝路徑),並將solr-4.7.0.zip解壓到新建的solr目錄下,然後在solr下面創solr1資料夾(考慮到以後做叢集會用到),在solr1下新建兩個資料夾,tomcat和home(存放core和索引資訊)
2. 將apache-tomcat-7.0.69-windows-x64.zip解壓到上一步新建的tomcat目錄下之後,將I:\SolrServer\solr\solr-4.7.0\example\webapps目錄下的solr.war複製到I:\SolrServer\solr\solr1\tomcat\webapps目錄中
3. 啟動tomcat伺服器。在cmd命令列中,切換到tomcat安裝的目錄的bin目錄下,首次需要先執行service.bat install命令來安裝tomcat服務,安裝成功後,接著輸入tomcat7,此時服務啟動,執行效果如下圖所示(如果不成功,檢查一下是否防火牆或防毒軟體給遮蔽了,或者是埠衝突,預設為8080埠),同時tomcat\webapps目錄下會自動生成solr目錄(啟動服務,solr.war被tomcat解壓而來)。
4. 將I:\SolrServer\solr\solr-4.7.0\example\solr目錄下所有的檔案和資料夾拷貝到上面新建的solr1\home目錄中。
5. 將I:\SolrServer\solr\solr-4.7.0\example\lib\ext目錄下所有的.jar(5個)拷到I:\SolrServer\solr\solr1\tomcat\webapps\solr\WEB-INF\lib目錄中。
6. 在I:\SolrServer\solr\solr1\tomcat\webapps\solr\WEB-INF下新建一個classes資料夾,並將I:\SolrServer\solr\solr-4.7.0\example\resources目錄下的log4j.properties複製到剛剛新建的classes目錄中(日誌模組檔案)。
7. 開啟I:\SolrServer\solr\solr1\tomcat\webapps\solr\WEB-INF下的web.xml檔案,取消到之間的註釋,將/put/your/solr/home/here中的值改為你home的路徑,那麼我的應該是I:/SolrServer/solr/solr1/home如下圖,修改完畢後儲存檔案。
8. 重啟tomcat,在瀏覽器中輸入:http://localhost:8080/solr 如果沒問題的話,就能看到solr的管理介面了。
這樣solr環境就搭建好了,下一步就可以資料庫裡的資料匯入到solr,用solr來查詢了。