一、 Solr环境搭建
1、准备工作
(以下服务器IP假定为localhost)
#预先下载好jdk和tomcat
安装jdk
tar -zxvf /usr/local/jdk-8u171-linux-x64.tar.gz
mv /usr/local/jdk1.8.0_171/ /usr/local/jdk1.8
#添加JAVA_HOME
vim /etc/profile
添加以下内容:
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
安装tomcat
tar zxvf /usr/local/apache-tomcat-8.0.33.tar.gz
mv /usr/local/apache-tomcat-8.0.33/ /usr/local/tomcat_8983
修改tomcat启动端口
cd /usr/local/tomcat_8983/conf
vim server.xml
将端口改成8983
打开防火墙对应的tomcat端口后即可正常访问
二、 Solr应用部署
1、安装Solr,并将应用部署至tomcat
上传预先下载好的solr包
tar -zxvf /usr/local/solr-7.0.0.tgz
进入solr目录,拷贝对应的工程到tomcat
cd /usr/local/solr-7.0.0/server
cp solr-webapp/ /usr/local/tomcat_8983/webapps/solr
拷贝jar文件
cd /usr/local/solr-7.0.0/server/lib
cp *.jar /usr/local/tomcat_8983/webapps/solr/WEB-INF/lib/
cp ext/*.jar /usr/local/tomcat_8983/webapps/solr/WEB-INF/lib/
将log.properties拷贝至tomcat目录
cd /usr/local/tomcat_8983/webapps/solr/WEB-INF
mkdir classes/
cp /usr/local/solr-7.0.0/server/resources/log4j.properties /usr/local/tomcat_8983/webapps/solr/WEB-INF/ classes/
创建并使用solrHome
cd /usr/local
mkdir solrHome/
将solr的配置文件拷贝至solrHome
cp -r /usr/local/solr-7.0.0/server/solr/* /usr/local/solrHome/
修改web.xml文件,启动solr
vim /usr/local/tomcat_8983/webapps/solr/WEB-INF/web.xml
将以下代码注解取消,并加入已创建的solrHome
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/ solrHome/</env-entry-value>
<env-entry-type>Java.lang.String</env-entry-type>
</env-entry
保存后退出
启动tomcat,浏览器访问http:// localhost:8983/solr/index.html
如果出现403异常,则停止tomcat,修改web.xml
vim /usr/local/tomcat_8983/webapps/solr/WEB-INF/web.xml
将以下代码注释掉
<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>
保存退出,重启tomcat,访问
2、创建core
进入solrHome,创建core目录
cd /usr/local/solrHome
mkdir licenseCore/
拷贝配置文件到新创建的Core文件夹下
cp -r /usr/local/solrHome/configsets/_default/* /usr/local/solrHome/licenseCore/
创建新创建的Core的数据文件夹
cd /usr/local/solrHome/licenseCore/
mkdir data/
启动tomcat容器,并访问http://localhost:8983/index.html
点击Core Admin并选择Add Core
填上对应数据,其中name填写的是新建的core文件夹的名称 ,instanceDir填写的是core的conf路径,dataDir填写的是data的路径,填写完,点击Add Core
三、 Solr调用
使用solr自带的post.jar为文件添加索引
cd /usr/local/solr-7.0.0/bin
java -Durl=http://localhost:8983/solr/licenseCore/update -Dtype=application/json -jar ..\example\exampledocs\post.jar 文件绝对路径
由于为文件建立索引时,使用的是自动根据value发现字段类型并建立索引,会出现类型转换异常,可做如下修改
删除全部索引
curl http://localhost:8983/solr/licenseCore/update --data-binary " <query>*:*</query>" -H 'Content-Type :text/xml; charset=utf-8'
#删除完后,要提交
curl http://localhost:8983/solr/licenseCore/update --data-binary "<commit/>" -H 'Content- type:text/xml; charset=utf-8'
所有的增删查找操作都可在Solr Admin Web上操作