搭建solr的简单应用服务(一)

2020-03-16 16:03:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

搭建solr的简单应用服务(一)

环境:Centos7 + jdk1.8 + solr-7.7.2 + tomcat-8.5.43

Centos7下载地址: https://www.jianshu.com/p/a63f47e096e8

jdk1.8下载地址: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

solr-7.7.2下载地址: http://archive.apache.org/dist/lucene/solr/

tomcat-8.5.43下载地址: http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.43/bin/

第一部分: tomcat中配置solr服务

1. 解压solr-7.7.2进入server/webapps复制webapp文件到tomcat的webapps下并改名字为solr进行访问        

  

2. 添加到tomcat容器内

    

 3. 添加solr依赖的包到solr项目内的WEB-INF/lib文件下

  3.1 添加server下的lib/ext下的所有包

   

  3.2 添加server下lib文件夹下的6个依赖包

     

4. 在usr/local [符合项目规范的任意文件夹] 下创建solrhome文件夹作为索引库的目录

     

5. 复制solr-7.7.2文件夹下的contrib和dist到solrhome目录下

     

6. 复制server-7.7.2目录下的solr下的所有文件到solrhome目录下

     

7. 在solrhome目录下创建启动的核心库起名为new_core [符合项目规范的自定义文件夹] 

    

8. 复制solr-7.7.2下的目录下的server/solr/configsets/_default的conf文件夹到创建好的new_core目录下

  

9. 日志文件 

  9.1 在tomcat的solr项目中 [路径 tomcat-8.5.43/webapps/solr/WEB_INF/ ] 新建classes 文件夹

  9.2 复制solr-7.7.2/server/resources下的log4j2.xml 到 classes文件夹下

10. 修改tomcat-8.5.43下的solr项目web.xml文件

 

<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>

11. 注释安全约束 

  访问时会报出: HTTP Status 403 - Access to the requested resource has been denied,拒绝我们的访问资源请求。

 12. 启动tomcat即可, 访问路径:http://127.0.0.1:8080/solr/index.html 

 注意事项: 

  1. 为了避免程序上的一些请求和返回的中文乱码问题, 我们需要编辑tomcat的配置文件 server.xml 

<Connector port="8080" protocol="HTTP/1.1"
            useBodyEncodingForURI="true" URIEncoding="UTF-8"
            connectionTimeout="20000"
            redirectPort="8443" />

  2. 启动tomcat会出如下错误:

    2.1 错误内容:

WARN false x:ljf_dev SolrConfig Couldn't add files from /usr/local/solrhome/ljf_dev/../../../../contrib/extraction/lib filtered by .*\.jar to classpath: /usr/local/solrhome/ljf_dev/../../../../contrib/extraction/lib

WARN falsex:ljf_dev SolrConfig  Couldn't add files from /usr/local/solrhome/ljf_dev/../../../../dist filtered by solr-cell-\d.*\.jar to classpath: /usr/local/solrhome/ljf_dev/../../../../dist

    2.2 错误原因:

    上面的错误是说加载不到那些jar包 ,上面的这些jar包还在我们解压的文件里面,它肯定是找不到,我们先找到我们这个配置文件,然后修改它寻找的路径。
    配置文件是 core 目录下的 conf 里的 solrconfig.xml

    我们可以看到默认的配置路径是: 这个路径是solr的安装路径,我们可以更改成绝对路径

  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

    2.3 解决办法:

    将那些jar包放在一个固定路径,然后更改配置文件里的路径为绝对路径

#备份下配置文件
cp  /usr/local/solrhome/new_core/conf/solrconfig.xml  /user/local/solrhome/new_core/conf/solrconfig.xml.bak
#将依赖文件复制到 tomcat的solr项目下
cp  -r /opt/solr-7.7.2/dist/     /opt/tomcat-8.5.43/webapps/solr/
cp  -r /opt/solr-7.7.2/contrib/     /opt/tomcat-8.5.43/webapps/solr/

然后更改配置文件 /usr/local/solrhome/new_core/conf/solrconfig.xml  修改为绝对路径,下面为为修改后的。
  <lib dir="/opt/tomcat-8.5.43/webapps/solr/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="/opt/tomcat-8.5.43/webapps/solr/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="/opt/tomcat-8.5.43/webapps/solr/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="/opt/tomcat-8.5.43/webapps/solr/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="/opt/tomcat-8.5.43/webapps/solr/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="/opt/tomcat-8.5.43/webapps/solr/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="/opt/tomcat-8.5.43/webapps/solr/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="/opt/tomcat-8.5.43/webapps/solr/dist/" regex="solr-velocity-\d.*\.jar" />

  这样重新启动tomcat 就不会再有警告了。

 

--至此,第一部分solr配置完毕.

 

文章来源:

https://blog.csdn.net/weixin_44124307/article/details/96362431

 


原文链接:https://www.cnblogs.com/autumnYue/p/12503812.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SpringBoot——Cache使用原理及Redis整合

下一篇:Quartz入门与Demo