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。
tomcat的下载
tomcat官网地址(http://tomcat.apache.org/)下载 Tomcat 9.0.41,根据运行环境下载对应所需要的。
Solr的目录结构
将下载下来的solr-8.7.0.zip
文件进行解压,这时你就会看到如下图所示的Solr的目录结构。
下面我会对上图所展示的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到该空文件夹中。
第二步,创建两个个空的文件夹,例如solrHome(Solr的数据源),该空文件夹可随意位置创建,不过在这里我是创建在了D:\solr
文件夹下。solrLogs(solr的日志文件目类)
第三步,将 E:\solr\solr-8.7.0\server\solr-webapp
文件夹下的webapp文件拷贝一份复制到 E:\solr\apache-tomcat-9.0.41\webapps
文件夹下,并改名为solr(名字无所谓主要是用于区分)。这里得说明一点,这一步的目的是为了将Solr的应用程序放入到Tomcat服务器中。
第四步,将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
文件夹中。
第五步,修改E:\solr\apache-tomcat-9.0.41\webapps\solr\WEB-INF
文件夹下的web.xml配置文件。那如何修改该配置文件呢?大家可以按照以下两点来进行修改。
- 添加如下配置(web.xml配置文件中默认是没有的),即指定Solr数据源的位置。
- 注释以下配置(默认是打开的),即取消权限控制。
若不注释掉则会有权限问题,带来的相应后果就是在访问Solr主页时,你会看到Tomcat显示403的错误,如下图所示。
第六步,把solr-8.7.0安装包中的server\resources
文件夹下的所有配置文件拷贝到E:\solr\apache-tomcat-9.0.41\webapps\solr\WEB-INF\classes
文件夹下(若没有classes文件夹,则请先创建)。
然后,需要修改一下log4j2.xml配置文件,即把所有的${sys:solr.log.dir}
修改为自己指定的真实路径(这里,我是在E:\solr
下创建了一个solrLogs文件夹,即第二步创建的文件夹)。
第七步,把solr-8.7.0安装包中的server\solr
下的所有文件拷贝到之前创建的solrHome文件夹里。
第八步,启动Tomcat,访问http://localhost:8080/solr/index.html
即可验证搭建单机版Solr服务器是否成功。
如果你能看到上图所示的效果,那么说明单机版Solr服务器搭建成功了!