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
远程在浏览器里访问一下
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部署完毕
网友评论