solr有自己的内置jetty容器可以直接运行,但是我看网上很少直接用jetty,以下是在tomcat中配置的。
有关官方配置的步骤,我已经在这篇文章里写了,连接是官方配置solr步骤(一)—solr下载及单节点的启动、配置说明
1.我从网上下载的solr版本好几个,配置过6.2/6.6版本,可惜我配置失败了,至今我不知道什么原因,我就拿我配置成功的5.5.4版本来说一下安装步骤。
具体步骤共有如下几步:
- 下载solr的5.5.4包,下载tomcat9的包。
- 将solr的运行项目拷贝到tomcat9中的webapps中。
- 引入solr的运行日志jar包和日志文件。
- 引入solr的索引导入jar包。
- 创建solrHome文件,并且拷贝其中需要的内容。
2.首先从以下地址下载solr5.5.4版本的包
如果你要配置在tomcat里,貌似这两个其实用到的内容都一样。下哪个都无所谓了。
3.准备一个tomcat,我用的是tomcat9下载地址点这里,找其中的windows 64位版本的zip包,修改tomcat9的下的conf/server.xml文件中的端口号为8983,这个是solr的默认端口,具体位置如下:
4.将下载下来的solr-5.5.4包解压后,找到solr-5.5.4\server\solr-webapp下的webapp文件夹,复制到tomcat9中的webapps中,并且修改名称为solr,具体如下:
注意了,有些地方说是拷贝下载下来的solr包中的war包,可能那种都是5版本以前的,反正5.0以上好像没有了war包,如果要在tomcat中运行只能拷贝了。
5.找到solr-5.5.4\server\lib\ext,将这里边的jar包拷贝到上一步中拷贝的solr文件夹中,我的位置是Tomcat9Solr\webapps\solr\WEB-INF\lib中,具体要拷贝的包如下:
6.找到solr-5.5.4\server\resources中的一个log4j.properties文件,将它拷贝到Tomcat9Solr\webapps\solr\WEB-INF下的classes文件夹中,如果没有classes文件夹,可以自己建一个空的文件夹即可。另外,你也可以将这个log4j.properties文件拷贝到第五步中的Tomcat9Solr\webapps\solr\WEB-INF\lib文件夹中,我发现它并不影响运行。
另外,说明一下,将来运行成功后,你如果想看下日志文件,它应该在你配置的这个tomcat包中的bin/logs下,一个名叫solr.log,即是solr的运行日志文件。
7.同样,找到solr-5.5.4\dist下,拷贝下边的两个包到Tomcat9Solr\webapps\solr\WEB-INF\lib中,这两个必须要拷,否则导入索引不成功,具体如下:
8.找到solr-5.5.4\server\solr文件夹,将其拷贝到你的tomcat的根目录中,并且命名为solrHome,具体如下:
9.找到Tomcat9Solr\webapps\solr\WEB-INF中的web.xml文件,在其中配置solrHome的路径,具体如下:
这里解释一下solrHome,可能你应该知道solr的搜索速度快于普通数据库,是因为提前建立了索引,一个solr服务器,将来可能会对应数据库中的好多表,而数据库中的表,在solr看来,可以认为是一个个的core,solr会将建立好的索引文件存在对应的core里,而core就保存在solrHome中,这只是命了一个名字而已,并且位置可以随便放,并不是必须非要放到配置的tomcat中,只要在web.xml中对应好物理路径即可,另外注意,如果你是linux配置,好像写相对路径不行,也可能是我写错了。我当时配置的是../../solrHome这种路径,是无法启动的。我没有具体找原因。