畢設準備做一個分佈式的全文搜索系統,看了很多文獻,決定採用solr+Zookeeper試試,第一次接觸solr,搗鼓了半天,今天先把solr單機跑起來玩玩,let’s go!
- 環境:win7 64bit +JDK 1.8+Tomcat 8.5
其實solr有自帶的servlet容器,就是Jetty,不過爲了項目方便,我就直接部署在tomcat下了
以下是部署步驟:
- 先去solr官網去下載solr,然後得到solr-7.2.1.zip,解壓得到E:\solr-7.2.1,然後把E:\solr-7.2.1\server\solr-webapp\下的webapp文件夾拷貝到D:\Tomcat 8.5\webapps目錄下,並更名爲solr,完成後目錄爲D:\Tomcat 8.5\webapps\solr
- 把E:\solr-7.2.1\server\lib\ext文件下的所有jar包(我這裏有5個)到D:\Tomcat 8.5\webapps\solr\WEB-INF\lib下
- 把E:\solr-7.2.1\dist目錄下的solr-dataimporthandler-7.2.1.jar、solr-dataimporthandler-extras-7.2.1.jar這兩個拷貝到D:\Tomcat 8.5\webapps\solr\WEB-INF\lib下
- 把E:\solr-7.2.1\server\lib下的以metrics開頭的幾個jar包(我這是五個)拷貝到D:\Tomcat 8.5\webapps\solr\WEB-INF\lib下
- 接下來就是配置sorlhome了,把E:\solr-7.2.1\server下的solr文件夾隨便拷貝到非中文的目錄下,然後重命名爲solr_home(這個隨便,隨後會用到這個名字),比如我的就是D:\solr_home
在D:\Tomcat 8.5\webapps\solr\WEB-INF路徑下創建classes文件夾,然後將E:\solr-7.2.1\server\resources文件夾下的log4j.properties拷貝過去;
快完成了,打開D:\Tomcat 8.5\webapps\solr\WEB-INF\web.xml文件,找到以下代碼,取消註釋,修改並配置你的solrhome路徑
更改前:
<!-- <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> -->
更改後:
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>D:\solr_home</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
先別把wen.xml關了,我們繼續找到以下代碼片段並註釋掉
<web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint>
啓動Tomcat,然後輸入地址localhost:8080/solr/index.html,出現如下界面,大功告成!
後續會繼續更新學習記錄,在此感謝網上各位前輩文獻的指導~