solr和tomcat整合

来源:互联网 发布:网络新项目 编辑:程序博客网 时间:2024/06/05 10:56
 solr和tomcat整合
先下载lucene和solr,及中文分词器mmseg4j
lucene和solr我用的3.6.1版
<!--
http://www.apache.org/dyn/closer.cgi/lucene/java/3.6.1
-->
http://www.apache.org/dyn/closer.cgi/lucene/solr/3.6.1

http://mmseg4j.googlecode.com/files/mmseg4j-1.8.5.zip

本人第一次手动使用tomcat配置服务,说的不到位的地方各位别见笑。
下面就开始了

1. 解压apache-solr-3.6.1.zip
            
将example/solr文件夹下的内容
        
copy到作为服务器目录web/solr/homereadme.txt有关于这个目录结构的说明,少个data文件夹用来存放索引数据web的我就直接用的tomcat的D:\Tools\J2EE-Tools\apache-tomcat-6.0.30\webapps,下面的web就代表这个路径
        

2. 将\apache-solr-3.6.1\example\webapps下相应的solr.war也copy出来,解压到web/solr/server下
         
3. 修改solr的配置文件web\solr\home\conf\solrconfig.xml
    ① 配置dataDir <dataDir>${solr.data.dir:D:\Tools\J2EE-Tools\apache-tomcat-6.0.30\webapps\solr\home\data}</dataDir>

4. 设置相应的tomcat的上下文context,修改tomcat/conf/server.xml文件
   ① <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">

        <Context path="/solr" docBase="D:\Tools\J2EE-Tools\apache-tomcat-6.0.30\webapps\solr\server" reloadable="false" >
            <Environment name="solr/home" type="java.lang.String" value="D:\Tools\J2EE-Tools\apache-tomcat-6.0.30\webapps\solr\home" override="true"/>
        </Context>
</Host>
   ②设置tomcat编码及端口 <Connector URIEncoding="utf-8" connectionTimeout="30000"port="8088" protocol="HTTP/1.1" redirectPort="8443"/>

5. 3.6之后的版本可忽略。
如果solr是3.6之前的版本则将web/solr/home/config/solrconfig.xml中的
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="true"/> true改为false

6. 加入中文分词mmseg4j
   ① 添加中文分词的jar  mmseg4j-all-1.8.5.jar到 web\solr\server的lib下
   ② 把分词字典放入 web\solr\home\dic文件夹下,dic需要新建
   ③ 在web/solr/home/conf的schema.xml中添加
<fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
      </analyzer>
    </fieldType>
    <fieldType name="textMaxWord" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>
      </analyzer>
    </fieldType>
    <fieldType name="textSimple" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>
      </analyzer>
    </fieldType>

7. \apache-tomcat-6.0.30\bin 下startup启动tomcat, 然后可以访问http://localhost:8088/solr/

.....图片贴不上去,凑合着看吧