日期:2014-05-16  浏览次数:20473 次

solr环境配置、中文分词、数据库
一、配置solr环境

1、  下载solr  http://www.apache.org/dyn/closer.cgi/lucene/solr/

此处用的是3.5 解压到D盘D:/solr/apache-solr-3.5.0

2、修改tomcat conf/server.xml

  <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"URIEncoding="UTF-8" />

添加编码的配置 URIEncoding="UTF-8" (如不添加,中文检索时因为乱码搜索不到)

3、  配置solr

Tomcat  conf/Catalina/localhost下添加solr.xml

内容:

<Context docBase="D:/solr/apache-solr-3.5.0/dist/apache-solr-3.5.0.war" debug="0" crossContext="true" >

<Environment name="solr/home" type="java.lang.String" value="D:/solr/apache-solr-3.5.0/example/solr" override="true" />

</Context>

4、 启动tomcat  输入http://localhost:8080/solr/  出现欢迎界面表示成功





二、中文分词配置

1、  下载分词器: http://code.google.com/p/mmseg4j/

2、下载词库:http://code.google.com/p/mmseg4j/downloads/detail?name=data.zip&can=2&q

3、将解压后的mmseg4j-1.8.5目录下的mmseg4j-all-1.8.5.jar拷贝到Tomcat的webapps/solr/WEB-INF/lib目录下。

4、添加词库:在D:/solr/apache-solr-3.5.0/example/solr目录下新建dic文件夹,将解压后的data目录下的words.dic拷贝到D:/solr/apache-solr-3.5.0/example/solr/dic目录下。

5、  更改schema.xml(D:/solr/apache-solr-3.5.0/example/solr/conf/)文件,使分词器起到作用。

在schema.xml的<types>、<fields>和部分新增如下配置:

注:dicPath=" "是你的词库路径。

    <!–mmseg4j field types–>

       <fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >

                  <analyzer>

                     <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="D:/solr/apache-solr-3.5.0/example/solr/dic"/>

                     <filter class="solr.LowerCaseFilterFactory"/>

           </analyzer>

       </fieldType>



     <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >

        <analyzer>

            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="D:/solr/apache-solr-3.5.0/example/solr/dic"/>

            <filter class="solr.LowerCaseFilterFactory"/>

        </analyzer>

     </fieldType>

   

     <fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >

       <analyzer>

           <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="D:/solr/apache-solr-3.5.0/example/solr/dic"/>

           <filter class="solr.LowerCaseFilterFactory"/>

       </analyzer>

     </fieldType>



   <!– mmseg4j field –>

   <field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true"/>