Solr本地tomcat配置

最近在使用solr遇到问题就靠度娘,结果发现内容较多,重复的也不少,各种纠结中自己也总结总结

首先下载tomcat,solr

tomcat我使用的是:apache-tomcat-6.0.33

solr使用的3.4

自己生成的索引之前只能使用luke,由于使用的不够顺畅,所以考虑使用solr自带的用户管理界面,结果就各种折腾,网上方法巨多,貌似折腾的也很费力

自己折腾完了回头总结一下跟大家分享:

方法一:

直接将solr的zip包dist文件夹中的apache-solr-3.4.0.war包拷贝到tomcat的webapps目录下,

貌似最好重命名为solr.war

首先介绍网上通用的方式,即在tomcat的\conf\Catalina\localhost建立一个文件solr.xml

文件内容为:
<Context docBase="D:/apache-tomcat-6.0.33/webapps/solr.war" reloadable="true" >  
    <Environment name="solr/home" type="java.lang.String" value="D:/home/admin/solr" override="true" />  
</Context>
 

其中docBase便是你刚才从solr下载包中拷贝的文件全路径

Environment便是solr/home的配置,value便是home的具体路径你可以配置为任意的你索引存放的路径

进过反复实验发现如下规律

如果webapps下边的apache-solr-3.4.0.war不重命名,那么你在\conf\Catalina\localhost下建立的xml文件必须也是apache-solr-3.4.0.xml,否则你就得跟我一样无限折腾了

如果你重命名成了solr.war那么对应的也应该是solr.xml

如果以上都处理好了,那么基本可以保证你的solrdemo可以执行了,不过要注意的是,如果你运行的是dataimporthandler,那么最好从dist目录下把apache-solr-dataimporthandler-3.4.0.jar这个包拷贝到刚才的webapps的应用中,要不然就要报错误了哦,

方法二最简单,不需要建立配置文件,只需要将刚才的apache-solr-3.4.0.war拷贝到webapps下面启动tomcat,于是报错了,下来你在webapps下找到apache-solr-3.4.0.war解压的文件夹,然后修改web.xml

找到如下内容

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/put/your/solr/home/here</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
 
去掉注释,将<env-entry-value>/put/your/solr/home/here</env-entry-value>中的内容修改成你的索引所在位置即可
至此,solr便可以启动了
这个时候启动可能有问题,会报DataImport.class找不到的问题,你需要从下载的solr的dist目录下找到
apache-solr-dataimporthandler-3.6.0.jar 拷贝到tomcat下的lib下,或者拷贝到刚才的war包下的lib目录下

http://localhost:8080/solr/select/?q=ownerId%3A2011760693&version=2.2&start=0&rows=10&indent=on&wt=json

其中wt:标记返回的数据类型,默认xml,可以指定json,及xslt

rows:最大行数

start:开始行数

q:查询条件

相关推荐