安裝環(huán)境
Windows 7 64bit
Apache-tomcat-8.0.9-windows-x64
Solr-4.9.0
JDK 1.8.0_05 64bit
?
安裝步驟
Tomcat和JDk的安裝在這里就略過(guò)。
注意:solr4.9要求jdk1.7+
?
步驟一:
????解壓solr-4.9.0到任意文件夾,我解壓到D:\Installed Applications\solr-4.9.0\solr-4.9.0目錄下。
步驟二:
????將solr-4.9.0\dist\ solr-4.9.0.war復(fù)制到Tomcat webapp/目錄下,最好重命名為solr.war。
步驟三:
????啟動(dòng)Tomcat,會(huì)報(bào)錯(cuò),這步只是為了將solr-4.9.0.war解壓,所以手動(dòng)解壓放在webapp目錄下面也是可行的。
步驟四:
方法一:
????打開(kāi)webapps\solr\WEB-INF\web.xml
????找到:
<!-- <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/put/your/solr/home/here</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> -->
?
這里是需要配置solr/home,只需要修改<env-entry-value>/put/your/solr/home/here</env-entry-value>
?
這個(gè)目錄可以自定義,建議就用步驟一解壓的目錄,這里需要非常注意:在Solr官網(wǎng)的Tutorial里面有如下一段話:
How Solr Works with Tomcat
The two basic steps for running Solr in any Web application container are as follows:
- Make the Solr classes available to the container. In many cases, the Solr Web application archive (WAR) file can be placed into a special directory of the application container. In the case of Tomcat, you need to place the Solr WAR file in Tomcat's?webapps?directory. If you installed Tomcat with Solr, take a look in?tomcat/webapps:you'll see the?solr.war?file is already there.
- Point Solr to the Solr home directory that contains?conf/solrconfig.xml?and?conf/schema.xml. There are a few ways to get this done. One of the best is to define the?solr.solr.home?Java system property. With Tomcat, the best way to do this is via a shell environment variable,?JAVA_OPTS. Tomcat puts the value of this variable on the command line upon startup
?
從這里可以看出,<env-entry-value>指向的目錄需要包含conf/solrconfig.xml和conf/schema.xml這兩個(gè)文件,也就意味著在<env-entry-value>所指向的目錄中需要有conf子目錄,我就是因?yàn)楣倬W(wǎng)的這段解釋?zhuān)懔税胩鞗](méi)有成功,其實(shí)是我理解錯(cuò)了,我認(rèn)為在solr.solr.home目錄下必須要有子目錄conf,conf里面包含solrconfig.xml和schema.xml。但是其實(shí)conf目錄是放在collection1目錄下面的,collection是solr的一個(gè)Instance實(shí)例,solr中可以配置多個(gè)collection,可以有獨(dú)立的配置文件。
我這邊web.xml的配置為:
< env-entry > < env-entry-name > solr/home </ env-entry-name > < env-entry-value > D:/Installed Applications/solr-4.9.0/solr-4.9.0/example </ env-entry-value > < env-entry-type > java.lang.String </ env-entry-type > </ env-entry >
?
特別需要注意配置里面使用的是反斜杠"/",而不是windows下默認(rèn)的"\"。
這里我是直接指向example文件夾。
?
方法二 ( 個(gè)人推薦 ) :
在$TOMCAT_HOME/conf/Catalina/localhost目錄下新建solr.xml文件,內(nèi)容為:
< Context path ="/solr" docBase ="… /tomcat/webapps/solr.war" debug ="0" crossContext ="true" > < Environment name ="solr/home" type ="java.lang.String" value =" D:/Installed Applications/solr-4.9.0/solr-4.9.0/example " override ="true" /> 這邊需要注意,override需要設(shè)置為false,否則每次啟動(dòng)tomcat都會(huì)重新解壓war文件覆蓋掉之前的配置,或者手動(dòng)解壓后,把context path直接指向文件夾
</ Context >
?
步驟五:
????將solr-4.9.0\example\solr目錄下的collection1目錄整體copy到solr-4.9.0\example目錄下。讀者可以自己自定義路徑,web.xml中定義的<env-entry-value></env-entry-type>,這個(gè)指向的目錄包含collection1目錄就好了。
步驟六:
????將D:\Installed Applications\solr-4.9.0\solr-4.9.0\example\lib\ext目錄下的jar包c(diǎn)opy到apache-tomcat-8.0.9\lib目錄下,也可以copy到webapps\solr\WEB-INF\lib下,讀者可以自行選擇(全局和局部的問(wèn)題而已)。(如果啟動(dòng)還是報(bào)錯(cuò),可以根據(jù)提示在solr-4.9.0\dist中找相應(yīng)的jar包)。
步驟七:
????打開(kāi)Tomcat conf目錄下的server.xml,找到下面一段代碼添加URIEncoding="UTF-8",添加中文支持。
< Connector port ="8080" protocol ="HTTP/1.1" connectionTimeout ="20000" redirectPort ="8443" URIEncoding ="UTF-8" />
?
步驟八:
????啟動(dòng)Tomcat,打開(kāi)瀏覽器輸入:http://localhost:8080/solr/admin/,看到啟動(dòng)畫(huà)面就說(shuō)明安裝成功。
?
?
總結(jié)
由上面的安裝步驟可以看出來(lái),其中步驟四是最核心的一步,這里面需要了解Solr的運(yùn)行原理:Solr是類(lèi)似于Http接口的一種服務(wù),它需要在Web容器(這里是Tomcat)中部署,運(yùn)行后,應(yīng)用程序用Http請(qǐng)求的方式和Solr交互,包括添加索引、查詢(xún)等等。所以我們需要在Web容器中部署Solr,并且在Tomcat配置中指明Solr配置的目錄。
在Linux下的安裝方法跟Windows下沒(méi)有大的區(qū)別。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
