solr安裝與測試
1、下載solr
http://mirrors.hust.edu.cn/apache/lucene/solr/7.5.0/solr-7.5.0.tgz
2、上傳到Linux
3、解壓上傳的solr壓縮包
[root@localhost tool]# tar -zvxf solr-7.5.0.tgz
4、將solr部署到Tomcat
我已經有一個Tomcat了,復制一個原有的Tomcat改名為tomcat8-solr
[root@localhost tomcat]# cp tomcat8 tomcat8-solr -r
5、把solr部署到Tomcat
solr 解壓后server/solr-webapp下一個webapp目錄,它就是Solr的Web項目,把它復制到tomcat的webapps目錄下并改名為solr
進入Solr的server目錄下
[root@localhost tomcat]# cd /usr/tool/solr-7.5.0/server/solr-webapp/
復制webapp目錄到tomcat8-solr的webapps目錄下
[root@localhost solr-webapp]# cp webapp/ /usr/tool/tomcat/tomcat8-solr/webapps/ -r
將Solr的web應用改名
[root@localhost solr-webapp]# cd /usr/tool/tomcat/tomcat8-solr/webapps/
[root@localhost webapps]# mv webapp solr7
6、配置solr_home
這個目錄用于存儲Solr Core的數據及配置文件,創建solr_home存儲Solr索引文件
[root@localhost webapps]# mkdir /usr/tool/solr7/solrhome -p
把剛才解壓的solr-7.5.0移動到solrhome文件夾下,方便管理,不是必須
解壓后的Solr的server目錄下有一個solr目錄,把這個目錄里的所有內容復制到剛剛創建的solrhome目錄下
[root@localhost webapps]# cd /usr/tool/solr7/solr-7.5.0/server/solr/
復制solr目錄下所有內容到solrhome
[root@localhost solr]# cp -r * /usr/tool/solr7/solrhome/
7、配置Tomcat
7.1 修改web.xml
修改復制到tomcat中的Solr項目中的WEB-INF目錄下的web.xml配置文件
修改solrhome路徑指向我們剛剛創建的solrhome
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/tool/solr7/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
去掉安全驗證
<!-- Get rid of error message
<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>
-->
7.2 復制所需依賴jar包
復制solr-7.4.0\server\lib\ext下的所有jar包到tomcat下的webapps\solr\WEB-INF\lib目錄下
[root@localhost solrhome]# cd /usr/tool/solr7/solr-7.5.0/server/lib/
[root@localhost lib]# cp ext/* /usr/tool/tomcat/tomcat8-solr/webapps/solr7/WEB-INF/lib/
復制solr-7.4.0\server\lib下的metrics開頭的5個jar到tomcat下的webapps\solr\WEB-INF\lib目錄下
[root@localhost lib]# cp metrics-* /usr/tool/tomcat/tomcat8-solr/webapps/solr7/WEB-INF/lib/
7.3 修改solr.xml
修改solrhome目錄下的solr.xml配置文件,如下
將主機名和端口號修改為自己的主機名和端口號
<str name="host">${host:192.168.65.129}</str>
<int name="hostPort">${tomcat.port:8080}</int>
<str name="hostContext">${hostContext:solr}</str>
7.4 創建Solr Core
在solrhome目錄下創建目錄名為:mycore
這個就是我們后面要創建的Solr Core,當然你也可以改成自己想要的名字
[root@localhost lib]# cd /usr/tool/solr7/solrhome/
[root@localhost solrhome]# mkdir mycore
7.5 準備Core配置文件
將configsets目錄下的sample_techproducts_configs目錄下的conf文件夾復制到mycore目錄下
[root@localhost solrhome]# cp -r configsets/sample_techproducts_configs/conf/ mycore/
7.6 啟動tomcat
[root@localhost mycore]# cd /usr/tool/tomcat/tomcat8-solr/bin/
[root@localhost bin]# ./startup.sh
遠程在瀏覽器里訪問一下
http://192.168.65.129:8080/solr7/index.html#/
image.png
創建SolrCore
image.png
image.png
image.png
image.png
8、代碼測試
8.1 新建索引字段
image.png
測試代碼
public static void main(String[] args) throws Exception {
addDocument();
}
public static void addDocument() throws Exception {
String solrUrl = "http://192.168.65.129:8080/solr7/first_core";
HttpSolrClient client = new HttpSolrClient.Builder(solrUrl).build();;
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
for (int i = 1; i <= 3; i++) {
SolrInputDocument doc = new SolrInputDocument();
//公有的字段
doc.addField("id", UUID.randomUUID().toString());
doc.addField("name", "nametest");
doc.addField("filename", "filename");
docs.add(doc);
}
UpdateResponse rsp = client.add(docs);
UpdateResponse rspcommit = client.commit();
System.out.println(rspcommit.toString());
}
image.png
至此solr部署完畢