在网 上看到了一些solr的教程,处于好奇于是跟着教程走了一遍,但是在添加按着教程所说“步步紧跟”时却Tomcat8总是报错,好在最终解决了问题,总结如下:
出问题的原因是因为由于手贱把collection1\conf文件下的solrconfig.xml下的默认data数据目录“<dataDir>${solr.data.dir:}</dataDir>”改成了自己的的目录(确实也忘了自己改过了,最后才发现),于是跟着别人再复制粘贴一份collection1文件然后在把core.properties中的name的键值对的值改下保存然后重启Tomcat,于是我这总是报错。。。。。**解决办法:**把data数据目录修改回默认,然后复制多份collection(也就是所说的solrcore)并分别修改core.properties中的name的键值对的值然后重启tomcat并访问http://localhost:8080/solr/就OK了!!
**完整的具体步骤:**
首先下载solr(这里使用的时4.10.3)下载地址win下载zip的,然后解压。解压后各文件夹的作用:
1、bin:solr的运行脚本
2、contrib:solr的一些扩展jar包,用于增强solr的功能
3、dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件
4、docs:solr的API文档
5、example:solr工程的例子目录
6、example/solr:该目录是一个标准的SolrHome,它包含一个默认的SolrCore
7、example/multicore:该目录包含了在Solr的multicore中设置的多个Core目录
8、example/webapps:该目录中包括一个solr.war,该war可作为solr的运行实例工程
9、licenses:solr相关的一些许可信息环境:solr 需要运行在一个Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr默认提供Jetty(java写的Servlet容器),本次使用Tocmat作为Servlet容器
- 创建SolrCore,创建SolrCore先要创建SolrHome。在solr解压包下solr-4.10.3\example\solr文件夹就是一个标准的SolrHome
- 拷贝solr解压包下solr-4.10.3\example\solr文件夹,复制该文件夹到本地的一个目录,把文件名称改为solrhome,改名不是必须的,只是为了便于理解
- 配置SolrCore,在conf文件夹下有一个solrconfig.xml。这个文件是来配置SolrCore实例的相关信息。如果使用默认配置可以不用做任何修改。它里面包含了不少标签,但是我们关注的标签为:lib标签、datadir标签、requestHandler标签。
修改solrhome\collection1\conf下的solrconfig.xml的lib标签如下:
“
”
然后将contrib和dist两个目录拷贝到E:\12-solr\下(E:\12-solr是solrhome所在的目录)注意:data数据目录数据目录默认就好不要搞了不然等会又要报错- 把solr.war部署到Tomcat中,从solr解压包下的solr-4.10.3\example\webapps目录中拷贝solr.war复制到tomcat安装目录的webapps文件夹下,使用压缩工具解压或者启动tomcat自动解压。解压之后删除solr.war
- 添加solr服务的扩展依赖包(日志包),把solr解压包下的solr-4.10.3\example\lib\ext目录下的所有jar包拷贝。复制到解压缩后的solr工程的WEB-INF\lib目录,添加log4j.properties,把solr解压包下solr-4.10.3\example\resources\log4j.properties文件进行拷贝,在解压缩后的solr工程中的WEB-INF目录中创建classes文件夹,复制log4j.properties文件到刚创建的classes目录
- 在solr应用的web.xml文件中,加载SolrHome修改web.xml使用jndi的方式告诉solr服务器。Solr/home名称必须是固定的。
- 启动Tomcat进行访问访问http://localhost:8080/solr/出现以下界面则说明solr安装成功!!!
- 接下来添加第二个solrcore 1)在solrhome目录下 复制粘贴一份的collction1,改名为collection2,并修改collection2下的core.properties中的name的键值对的值为collection2保存,然后重启Tomcat,并访问http://localhost:8080/solr/ ,然后点击 core selector按钮出现下图
则添加solrcore成功!!!【结束】