solr+ Eclipse 4.3+ tomcat 7.5 +winds7(一)

这种方法是我自己依据对tomcat运行项目流程和solr的运行流程来自己弄的,所以有点麻烦,请到原地址查看心血谢谢:http://blog.csdn.net/chunlei_zhang/article/details/38449037。公司提倡的是基于框架扩展,而不是改变框架原有的配置(这个不好说明确),这样的方式利于实施的人实施。只是我不赞成这样的,由于不论什么事情仅仅要存在就有存在的理由,假设实施者一点都学不到东西,他也会感觉非常没劲,对吧?另外一种方式我实验成功后也告诉大家。

一、首先下载全部的软件:Eclipse 4.3 环境 +tomcat 7.5 +solr软件

二、在Eclipse环境下创建一个Dynamic Program File,命名为solr2。删除solr2的WebRoot下的全部内容,然后解压找到solr.war目录,将其解压,放到solr2的WebRoot下,这个时候会出现红色的叉号,先不用管;

三、拷贝到WebRoot下后,然后找到web.xml,然后再web.xml配置下面内容:

<pre name="code" class="html"><web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5"
         metadata-complete="true"
>
<env-entry> 
<env-entry-name>solr/home</env-entry-name> 
<env-entry-value>E:/solr</env-entry-value> 
<env-entry-type>java.lang.String</env-entry-type> 
</env-entry>


当中,value为你存储的solrCore的位置。我的是tomcat1.7,所以在这个地方会出现错误:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'env-entry-type'. One of '{"http://java.sun.com/xml/ns/javaee":mapped-name, "http://java.sun.com/xml/ns/ javaee":injection-target}' is expected.我看了非常多中国博客,只是答案都是考过来拷过去,没有一个解决的,还有的说直接将2.5换成2.4都是不正确的,方法非常easy直接将value和type交换一下就好了。交换后例如以下:

<env-entry> 
<env-entry-name>solr/home</env-entry-name> 
<env-entry-type>java.lang.String</env-entry-type> 
<env-entry-value>E:/solr</env-entry-value>
</env-entry> 

上面的问题就攻克了。

四、配置solrCore,首先依据步骤三配置的value建立文件夹,然后再solr文件下创建solr.xml.对solr.xml配置例如以下:

<?xml version="1.0" encoding="UTF-8" ?> 
<solr persistent="false"> 
<cores adminPath="/admin/cores"> 
<core name="hello" instanceDir="hello" /> 
</cores> 
</solr> 

当中
adminPath="/admin/cores"
是固定写法,我们仅仅须要配置solrCore就能够了,我的solrCore名字就是hello

五.、依据步骤四写的solrCore的名字,相同在solr目录下创建hello目录,然后再在hello目录下创建conf目录,去solrExample中,将solrConfig.xml和schema.xml文件考到conf文件加下就可以。当然我们能够配置多个solrCore.

步骤四和步骤五的结构图:



hello下的结构为:



conf文件下内容:



六、然后我们就能够执行了,执行结果明天展示,今天又到1点了,房东睡了,舍友也把灯关了,明天展示结果。

当你执行的时候会发现报sl4j的错误,这个时候仅仅要去solr-4.9.0examplelibext的文件加下将jar包和log4.properties考到lib目录下(log4.properties放到Web-INF)


输入url:http://localhost:8080/HelloWorld执行结果:



查看配置的core:




原文地址:https://www.cnblogs.com/gcczhongduan/p/4362325.html