solr是一个java写的搜索引擎,所以支持java方式的eclipse调试。
本篇文章使用solr版本为6.4.1
一、 环境
solr 下载地址 http://archive.apache.org/dist/lucene/solr/
windows下载solr-6.4.1.zip(149MB), linux下载solr-6.4.1.tgz
jdk 1.8
tomcat8(apache-tomcat-8.0.28)
二、 eclipse调试solr (或者 三、安装solr到tomcat)
1 解压solr压缩包,得到目录 solr-6.4.1\server\solr-webapp\webapp
2 在eclipse里面新建maven项目solr,在把solr-6.4.1\server\solr-webapp\webapp目录下的所有东西都拷贝到maven项目的src/main/webapp目录下,因为solr-6.4.1\server\solr-webapp\webapp目录就相当于maven项目的src/main/webapp目录。( 注意,此处有的教程错误的将solr-webapp文件夹进行拷贝,这会导致solr启动不了)
3 把以下jar包拷贝到maven项目的src/main/webapp/WEB-INF/lib下
solr-6.4.1\server\lib\ext 下的所有jar包
solr-6.4.1\dist 下solr-dataimporthandler jar 包,solr-dataimporthandler-extras-6.2.0.jar 包
solr-6.4.1\server\lib下的5个jar包(
metrics-core-3.1.2.jar,
metrics-ganglia-3.1.2.jar,
metrics-graphite-3.1.2.jar,
metrics-jetty9-3.1.2.jar,
metrics-jvm-3.1.2.jar)
3 拷贝solr-6.2.0\server 下的solr文件夹到D:/solr/solrhome目录下(可自定义),重命名为solrhome;
4 修改src/main/webapp/WEB-INF/web.xml, 找到如下代码,去掉注释,/put/your/solr/home/here 改为你自己的solrhome的路径,
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:/solr/solrhome</env-entry-value>
<env-entry-type>Java.lang.String</env-entry-type>
</env-entry>
5 拷贝solr-6.2.0\server\resources下的log4j.properties到tomcat\webapps\solr\WEB-INF\classes,如果WEB-INF下没有classes文件那么就创建一个classes文件夹。
6 预防出现403错误(HTTP Status 403 - Access to the requested resource has been denied),修改src/main/webapp/WEB-INF/web.xml,注释掉以下代码
<security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Enable everything but TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method-omission>TRACE</http-method-omission>
</web-resource-collection>
</security-constraint>
7、启动tomcat, 输入http://localhost:8080/solr/index.html 看到如下界面:
PS:这里也可以直接安装solr到tomcat,参考http://blog.csdn.net/u011317027/article/details/56485233