1. 程式人生 > >solr7.2.1--下載和tomcat8下搭建 轉載

solr7.2.1--下載和tomcat8下搭建 轉載


注意:在訪問solr的時候 一定是

http://localhost:8090/solr/index.html/ 一定要帶上index.html,

http://localhost:8090/solr/這樣會報404


一、官網下載


(1)http://www.apache.org/dyn/closer.lua/lucene/solr/7.2.1

(2)進入官網





(3)客官,選一個吧





(4)等待下載完畢(檔案還不小,哈哈,這還只是個開始.....)






(5)下載解壓後,將資料夾拷貝☞本地D盤下







bin : Windows及Linux下的可執行檔案

contrib:solr擴充套件庫(solr的一些貢獻軟體/外掛,用於增強solr的功能)

dist :solr編譯(build)過程的jar包檔案,以及相關的jar包引用

docs:API文件

example:solr的工程例子

licenses:和solr相關的一些許可資訊

server:solr web應用(webapps)相關配置(什麼lib啊、conf啊、web.xml啊...)




solr需要在一個servlet容器中執行,比如,其預設提供Jetty(Java寫的Servlet容器)







至此,我們的solr下載安裝完畢!


"什麼?這麼簡單嗎?"

"難道不是嗎?" --  哈哈





二、預設在solr自帶的Jetty容器中啟動(首頁訪問)



(1)Windows下CMD切換到solr的bin目錄下(快讀切換,直接在bin路徑下敲CMD)




(2)輸入 solr.cmd start(restart   stop)




(3)瀏覽器訪問:http://localhost:8983


此時,solr中無可用的core





(4)什麼是solr的cores呢?


     core從檔案結構的角度來看的話,主要包括一份索引(也可能還包括拼寫檢查的索引)、一堆配置檔案。最主要的配置檔案是:solrconfig.xml和schema.xml。solrconfig.xml從整體上對core進行了配置,例如索引的存放路徑、欄位的最大長度(maxFiedlLength)、寫鎖的超時時間(writeLockTimeout)、鎖型別(lockType)、是否壓縮索引(useCompoundFile)、記憶體索引緩衝區大小(ramBufferSizeMB)、合併因子(mergeFactor)、刪除策略、自動提交策略、快取設定等,它好比是一份組裝機器人的說明書,裡面詳細描述了各個部件(handler)的引數。schema.xml主要是對索引的配置,例如分詞器、欄位名稱+索引方法+儲存方式+分詞方式、唯一標識欄位等,它好比是機器人學習的學習方法,機器人主動或被動接受特定資料,按照配置轉化成索引,然後通過其部件(handler)展示出來,例如:search、moreLikeThis、spellCheck、factedSearcher等。 core從功能方面來說的話,主要是通過各種handler進行工作


以上自於網路,針對solr的兩個主要配置檔案,在我們的7.2.1中有所改變(針對schema.xml


對應的兩個檔案如下


路徑:D:\solr-7.2.1\server\solr\configsets\_default\conf




managed-schema配置的用法,本篇我們不涉及,下一篇講中文分詞器IK的時候,我們會和solr進行對接,再做說明!





三、tomcat下,啟動solr web應用(webapp)



(1)環境


jdk : 1.8.x tomcat :  8.x solr             :   7.x



(2)定位目錄:D:\solr-7.2.1\server\solr-webapp








(2)拷貝資料夾+重新命名 --- solr   -- 扔到 tomcat資料夾下的webapps資料夾下面


目前solr還不具備被訪問的能力,繼續完善



(3)定位到目錄:D:\solr-7.2.1\server\lib





圈出來的,不帶"J**"開頭的所有jar包,包括ext資料夾裡面的jar包,全部copy到

目錄:C:\tomcat-8\webapps\solr\WEB-INF\lib 下







(4)定位目錄:C:\tomcat-8\webapps\solr\WEB-INF







(5)定位目錄:D:\solr-7.2.1\server\resources


拷貝log4j.properties日誌屬性配置檔案 ----->C:\tomcat-8\webapps\solr\WEB-INF\classes 資料夾下





(6)tomcat非solr預設的Jetty容器,因此我們需要針對solr的web.xml的下面一段註釋進行home的建立


A. 定位目錄:C:\tomcat-8\webapps\solr\WEB-INF





B.開啟web.xml




預設是註釋的,我簡單翻譯下(哈哈):如果你想用其他的容器來執行你自己的Solr Home,請將下面的env-entry(環境入口)改為你自己的solr配置(屬性)


先放開註釋,新增一個solr_home再說,待會,我們在配置實際的solr_home目錄





將web.xml中的以下內容註釋了,否則待會訪問solr的index.html的時候,會出現403錯誤






如果不註釋掉,啟動tomcat後(前提是建立了solr_home資料夾),訪問.../index.html出現如下錯誤頁面






(7)建立solr_home目錄


定位到目錄:D:\solr-7.2.1\server\solr




拷貝內容至  D:/solr_home資料夾下





configsets:solrcore的配置檔案的模板目錄



(8)定位目錄:D:\solr-7.2.1


將資料夾下的這兩個圈出來的資料夾




拷貝至目錄:D:\solr_home





(9)建立logs資料夾和core資料夾




(10)定位到目錄:D:\solr_home\configsets\_default


A.



B.





(11)至此,solr_home配置完畢,走一波tomcat試試




ok,啟動正常,瀏覽器輸入地址:http://localhost:8080/solr/index.html






(12)切換到Core Admin選項卡,基於我們solr_home資料夾下的newcore資料夾,手動建立一個core


A.




B.






C.





因此,下一篇,我將會隆重講解一下:中文分詞器----IK Analyzer結合solr的用法






D.切換到Logging選項卡





遇到這種錯別慌,根據message的提示,我們發現core的引包失敗,再仔細一看,原來是路徑錯誤,為什麼我們會先建立core,然後再回過頭來選擇Logging呢? 因為,core對於solr真的很重要啊,沒有core的solr,就是一個沒有生命力的solr
錯誤在哪呢,我們從core的配置檔案solrconfig.xml入手,看一下其內容








明顯我們的newcore和  contrib以及dist(現在知道,solr_home資料夾下為什麼要copy這兩個目錄了吧)是同級的





因此,我們將 solrconfig.xml裡的內容改成如下(去掉多餘的../)






儲存,重啟tomcat,再次瀏覽如下









如果你想在tomcat啟動時,記錄solr日誌的輸出dir(D:\solr_home\logs),你可以修改catalina.bat檔案





修改Javacanshu如下:




注意:執行tomcat的bin目錄下面的startup.bat等同於執行命令catalina.bat start


-D :Java執行引數

比如:
  1. System.getProperty("solr.log.dir"); //-D後相應的引數  








至此,solr 7.2.1 在tomcat容器中執行的配置就結束了,下一篇


Solr 7.2.1 配置中文分詞器 IK Analyzer