Solr的下载

首先,咱们得明确一点,在本系列教程中所使用的Solr是Apache Solr 8.7.0这个版本。大家可以从Solr官方网站(http://lucene.apache.org/solr/)下载Solr 8.7.0,根据Solr的运行环境,Linux下需要下载solr-8.7.0.tgz,Windows下需要下载solr-8.7.0.zip。
图片.png

tomcat的下载

tomcat官网地址(http://tomcat.apache.org/)下载 Tomcat 9.0.41,根据运行环境下载对应所需要的。
图片.png

Solr的目录结构

将下载下来的solr-8.7.0.zip文件进行解压,这时你就会看到如下图所示的Solr的目录结构。
图片.png
下面我会对上图所展示的Solr目录结构挨个进行介绍。

  • bin:该目录包括一些能够让Solr用起来更容易的重要的运行脚本,和普通的bin目录的作用是一样的;
  • contrib:该目录中有Solr的一些贡献软件/插件,它们可用于增强Solr的功能;
  • dist:该目录包含编译过程中所产生的jar文件以及相关的依赖文件。用更官方的话语来说,就是编译打包后的存放目录,即构建后的输出产物存放的目录。其中,要特别注意solr-solrj-8.7.0.jar这个jar包,因为这个jar包在后续编写代码的时候就会用到;
  • docs:该目录放的是Solr的API文档;
  • example:该目录放的是一些Solr工程的示范例子,而且这里还展示了DIH,即数据导入处理的例子;
  • licenses:该目录包含Solr所用到的第三方库的许可证;
  • server:这是最重要的一个目录,它里面包含运行Solr实例而安装好的Jetty Servlet容器,而且该目录里面有三个重要的目录是必须记住的,因为当你搭建一个Solr服务器时,就需要用到这三个目录。
    • server/lib:这个目录里面存放的是一些Jetty服务器的jar包和其他第三方的jar包。打开该目录,你就会发现有一堆Jetty内置小服务器的jar包(但这些我们用不到)。其中,lib/ext目录里面的jar包是Solr独有的jar包,也就是说当我们在搭建Solr服务器时,这几个jar包可别忘了导进去,至于导到哪里去,一会搭建的时候就知道了;
    • server/solr:这个目录就是Solr的家。你可能要问,什么是家啊?能持久化数据的地方就是家,放在这里就是索引库存放地,也就是说新建的collection(核,每一个核就相当于一个数据库)的默认保存目录,而且该目录里面必须要包含solr.xml文件(Solr服务器的配置文件);
    • server/solr-webapp:这个目录存放的是Solr的web工程。

搭建单机版Solr服务器

运行环境

Solr需要运行在一个Servlet容器中,Solr 8.7.0要求jdk使用1.7以上(现在基本上都使用的是Java 8了吧!还有用jdk 1.7的吗?),Solr默认提供Jetty(一个用Java写的Servlet容器),但本系列教程将使用Tocmat作为Servlet容器。在这里,我还得说明一点,本系列教程搭建单机版Solr服务器的运行环境是下面这样子的,所以,你得确保你的运行环境是不是下面这样子的?

  • Solr:Solr 8.7.0
  • jdk:jdk1.8.0_77
  • Tomcat:apache-tomcat-9.0.41

Solr 8.4.0整合Tomcat 8.5.38

第一步,创建一个空的文件夹,例如E:\solr,创建该空文件夹的目的是为了方便管理Tomcat、Solr以及Solr的数据源。然后,分别解压一份Tomcat和Solr到该空文件夹中。
图片.png

第二步,创建两个个空的文件夹,例如solrHome(Solr的数据源),该空文件夹可随意位置创建,不过在这里我是创建在了D:\solr文件夹下。solrLogs(solr的日志文件目类)
图片.png

第三步,将 E:\solr\solr-8.7.0\server\solr-webapp 文件夹下的webapp文件拷贝一份复制到 E:\solr\apache-tomcat-9.0.41\webapps 文件夹下,并改名为solr(名字无所谓主要是用于区分)。这里得说明一点,这一步的目的是为了将Solr的应用程序放入到Tomcat服务器中。

图片.png
第四步,将E:\solr\solr-8.7.0\server\lib\ext文件夹下的全部jar包、E:\solr\solr-8.7.0\server\lib文件夹下以metrics开头和http2开头的jar包全部拷贝到E:\solr\apache-tomcat-9.0.41\webapps\solr\WEB-INF\lib文件夹中。
图片.png

第五步,修改E:\solr\apache-tomcat-9.0.41\webapps\solr\WEB-INF文件夹下的web.xml配置文件。那如何修改该配置文件呢?大家可以按照以下两点来进行修改。

  • 添加如下配置(web.xml配置文件中默认是没有的),即指定Solr数据源的位置。图片.png
  • 注释以下配置(默认是打开的),即取消权限控制。
    图片.png
    若不注释掉则会有权限问题,带来的相应后果就是在访问Solr主页时,你会看到Tomcat显示403的错误,如下图所示。
    solr的安装部署 - 图10

第六步,把solr-8.7.0安装包中的server\resources文件夹下的所有配置文件拷贝到E:\solr\apache-tomcat-9.0.41\webapps\solr\WEB-INF\classes文件夹下(若没有classes文件夹,则请先创建)。
图片.png
然后,需要修改一下log4j2.xml配置文件,即把所有的${sys:solr.log.dir}修改为自己指定的真实路径(这里,我是在E:\solr下创建了一个solrLogs文件夹,即第二步创建的文件夹)。
图片.png
第七步,把solr-8.7.0安装包中的server\solr下的所有文件拷贝到之前创建的solrHome文件夹里。
图片.png
第八步,启动Tomcat,访问http://localhost:8080/solr/index.html即可验证搭建单机版Solr服务器是否成功。
图片.png
如果你能看到上图所示的效果,那么说明单机版Solr服务器搭建成功了!