什麼是Solr
Apache Solr 是建立在Lucene(全文搜索引擎)之上,幫助我們從大量的數據中尋找所需信息。多用於搜索,也可用於儲存目的。像其他NoSQL數據庫一樣,它是一種非關係數據儲存和處理技術。
Solr的安裝與配置
- 環境要求:Tomcat8.0+Solr7.4(版本請和我說的一致)
- Solr7.4下載: http://archive.apache.org/dist/lucene/solr/ (注意選擇.zip格式的,.tgz是Linux系統上要用的)
-
- step1:將solr-7.4.0/server/solr-webapp/下的webapp文件夾拷貝到Tomcat下的webapps目錄下(並重命名爲solr)
- step1:將solr-7.4.0/server/solr-webapp/下的webapp文件夾拷貝到Tomcat下的webapps目錄下(並重命名爲solr)
-
- step2:將solr-7.4.0/server/lib/ext/下的所有Jar文件全部拷貝到Tomcat下webapps/solr/WEB-INF/lib目錄下。
- step2:將solr-7.4.0/server/lib/ext/下的所有Jar文件全部拷貝到Tomcat下webapps/solr/WEB-INF/lib目錄下。
-
- step3:將solr-7.4.0/server/lib下所有metrics開頭的jar文件全部拷貝到webapps/solr/WEB-INF/lib目錄下。
- step3:將solr-7.4.0/server/lib下所有metrics開頭的jar文件全部拷貝到webapps/solr/WEB-INF/lib目錄下。
-
- step4:修改tomcat/webapps/solr/WEB-INF/web.xml文件的第41行,指定solrhome所在的目錄
- step4:修改tomcat/webapps/solr/WEB-INF/web.xml文件的第41行,指定solrhome所在的目錄
-
- step5:修改tomcat/webapps/solr/WEB-INF/web.xml文件的第164行
- step5:修改tomcat/webapps/solr/WEB-INF/web.xml文件的第164行
-
- step6: 修改Tomcat\bin下的catalina.bat,增加solr.log.dir系統變量,指定solr日誌記錄存放地址。
if not "%JSSE_OPTS%" == "" goto gotJsseOpts set JSSE_OPTS="-Djdk.tls.ephemeralDHKeySize=2048" :gotJsseOpts set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" set "JAVA_OPTS=%JAVA_OPTS% -Dsolr.log.dir=C:\study\solrhome\logs"--增加的一行
- step6: 修改Tomcat\bin下的catalina.bat,增加solr.log.dir系統變量,指定solr日誌記錄存放地址。
-
- step7: 配合solr日誌記錄存放地址,在solr-home下新建logs文件夾
- step7: 配合solr日誌記錄存放地址,在solr-home下新建logs文件夾
-
- step8: 拷貝solr-7.4.0下contrib和dist文件夾至solr-home目錄下。
- step8: 拷貝solr-7.4.0下contrib和dist文件夾至solr-home目錄下。
-
- step9: 在solr-home目錄下新建new_core文件夾;並拷貝
solr-7.4.0\server\solr\configsets_default\目錄下conf文件夾至solr-home\new_core下。
- step9: 在solr-home目錄下新建new_core文件夾;並拷貝
-
- step10:修改solr-home\newcore\conf\solrconfig.xml文件
- step10:修改solr-home\newcore\conf\solrconfig.xml文件
-
- step11: 配置Ik分詞器,把ik-analyzer-solr5-5.x 和 solr-analyzer-ik-5.1.0 兩個jar包導入Tomcat\webapps\solr\WEB-INF\lib下,下載地址:https://pan.baidu.com/s/1shNBxP4sNzfJ0UAhRJ6dNg
- step11: 配置Ik分詞器,把ik-analyzer-solr5-5.x 和 solr-analyzer-ik-5.1.0 兩個jar包導入Tomcat\webapps\solr\WEB-INF\lib下,下載地址:https://pan.baidu.com/s/1shNBxP4sNzfJ0UAhRJ6dNg
-
- step12:配置solr_home\new_core\conf下的managed-schema文件加入
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> --此處爲創建索引分詞 <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> -- 此處爲查詢分詞索引 <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
- step12:配置solr_home\new_core\conf下的managed-schema文件加入
-
- step13:啓動tomcat,訪問 http://localhost:8080/solr/index.html
- step13:啓動tomcat,訪問 http://localhost:8080/solr/index.html
遇到的坑
用tomcat的startup.bat啓動可以正常訪問solr後臺,但是在eclipse裏啓動tomcat後訪問solr就404
有坑的原因
發現在eclipse中啓動tomcat訪問tomcat的主頁也不能訪問,百度後發現是 eclipse將tomcat的項目發佈目錄(tomcat 目錄中的webapp)重定向了,所以你會發現在tomcat安裝目錄下的webapp目錄裏面找不到你的項目文件。
填坑
重新配置下tomcat服務器:在eclipse中的server頁面,先把tomcat中部署的項目移除,然後雙擊tomcat服務,選擇Use tomcat installation(Task control of Tomcat installation) 即選擇tomcat的安裝目錄來作爲項目的發佈目錄。