天天看點

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

第一安裝和配置Solr

  • 1、Solr單獨運作方式
  • 2、運作Solr
  • 3、Solr常用指令
  • 4、Solr+tomcat方式
    • 4-1、拷貝web項目:
    • 4-2、配置HOME目錄
    • 4-3、修改web.xml配置
    • 4-4、配置solr日志
    • 4-5、啟動tomcat

1、Solr單獨運作方式

下載下傳最新版solr,位址:http://lucene.apache.org/solr/downloads.html

zip 檔案下載下傳将它解壓縮到一個檔案夾:

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

Solr的檔案夾:

bin檔案夾中包含用來啟動和停止solr伺服器的腳本。

example檔案夾包含幾個示例檔案。

server檔案夾包含logs檔案夾,所有的Solr的日志都寫入該檔案夾。在server檔案夾下的Solr檔案夾包含不同的集合或核心(core/collection)。

2、運作Solr

Apache Solr 帶有一個内置的Jetty 伺服器。但在我們開始之前, 我們必須驗證

JAVA_HOME 已經配置,注意需要64 位的JDK。

可以使用指令行腳本啟動伺服器,去solr 的bin 目錄,從指令提示符輸入出以下指令:

solr start,将啟動Solr 伺服器,預設端口為8983。如果指定其它端口号可以使用solr start -p 端口号。

最新版的Solr在指令行輸入有可能出現 solr start -p 端口 有可能會報以下錯誤:

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

如果出現以上錯誤可以使用 .\solr start -p 端口号進行啟動。

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

以上提示出現後證明服務啟動成功(啟動過程中如果列印java 異常堆棧log4j2.xml 檔案

名、目錄名或卷智語法不正确找不到檔案,不妨礙正常使用solr 可以忽略),或者找到solr 主目錄下bin/solr.cmd,把所有的file:都改為file:///比如"file:%DEFAULT_SERVER_DIR%\scripts\cloud-scripts\log4j2.xml"修改為"file:///%DEFAULT_SERVER_DIR%\scripts\cloud-scripts\log4j2.xml"

停止服務: solr stop -p 端口号如果不寫端口号solr stop -all 也可以。

現在,可以在浏覽器中打開以下網址檢視solr 管理控制台AdminUI:

http://localhost:8888/solr/

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

3、Solr常用指令

solr start -p 端口号 單機版啟動solr服務。

solr restart -p 端口号 重新開機solr服務。

solr stop -p 端口号 關閉solr服務。

solr create -c name 建立一個core 執行個體。

官方文檔的位址:https://lucene.apache.org/solr/guide/8_6/

4、Solr+tomcat方式

4-1、拷貝web項目:

從D:\solr-8.7.0\server\solr-webapp\webapp 拷貝到 tomcat 的 webapp目錄下,并重命名為solr。
![](https://img-blog.csdnimg.cn/20201112102758688.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk3ODAzMg==,size_16,color_FFFFFF,t_70#pic_center)
           
Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

拷貝擴充依賴jar:

将D:\solr-8.7.0\server\lib\ext 檔案夾下的所有的jar包拷貝到 D:\Tomcat 9.0\webapps\solr\WEB-INF\lib下。

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式
Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

将D:\solr-8.7.0\server\lib下的metrics-.jar 包拷貝到D:\Tomcat 9.0\webapps\solr\WEB-INF\lib下。

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

4-2、配置HOME目錄

建立HOME 目錄(D:\solrhome),并把solr 配置檔案拷貝到HOME 目錄中

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式
Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

将 D:\solr-8.7.0\server\solr 檔案夾内所有的檔案拷貝到 D:\solrhome。

4-3、修改web.xml配置

修改solr伺服器目錄中web.xml(D:\Tomcat 9.0\webapps\solr\WEB-INF)檔案制定solr_home所在位置。

<env-entry>
		<env-entry-name>solr/home</env-entry-name>
		<env-entry-value>d:\solrhome</env-entry-value>
		<env-entry-type>java.lang.String</env-entry-type>
	</env-entry>
           

并且注釋以下代碼,否則項目彙報403錯誤。

<security-constraint>
	<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>
           
Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

4-4、配置solr日志

拷貝日志檔案 log4j2.xml 從D:\solr-8.7.0\server\resources 到 D:\Tomcat 9.0\webapps\solr\WEB-INF\lib

在solrhome 下建立檔案夾logs

修改修改Tomcat\bin 下的catalina.bat,增加solr.log.dir 系統變量,指定solr 日志記錄存

放位址

如果不配置tomcat 下的stdout 檔案會顯示錯誤日志:

22:58:23.129 [localhost-startStop-1] ERROR org.apache.solr.util.StartupLoggingUtils -

Missing Java Option solr.log.dir. Logging may be missing or incomplete.

打開tomcat 的bin (D:\Tomcat 9.0\bin)檔案夾下的catalina.bat 添加一行配置:

set JAVA_OPTS="-Dsolr.log.dir=D:\solrhome\logs"

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

用solr7.4 和solr7.5 配置後還是報以上異常

如果把log4j2.xml 拷貝到classes (D:\Tomcat 9.0\webapps\solr\WEB-INF)下則報如下異常:

ERROR Unable to create file ${sys:solr.log.dir}/solr.log java.io.IOException: 檔案名、目錄

名或卷智語法不正确。

在怎麼修改都不對的情況下,直接把log4j2.xml 放在classes 下并把檔案中所有的

${sys:solr.log.dir}修改為具體的路徑,比如:d:/solrhome/logs,就可以列印日志了。

4-5、啟動tomcat

啟動tomcat,通路http://localhost:8080/solr/index.html#/

看到頁面及辨別搭建成功。

Solr 8-7的安裝、配置1、Solr單獨運作方式2、運作Solr3、Solr常用指令4、Solr+tomcat方式

繼續閱讀