solr 3.5.0 与 tomcat 7.0.5 整合配置

时间:2021-09-28 20:11:10

1.将D:\software\lucene-3.6.0\apache-solr-3.5.0\example\solr下的文件拷贝到要作为服务器的位置(如:D:\lucene\solr\home),可以删除data目录下的数据,保留data文件夹;
2.将D:\software\lucene-3.6.0\apache-solr-3.5.0\example\webapps中的solr.war程序也拷贝出来(D:\lucene\solr\server);,并解压solr.war

3.打开D:\lucene\solr\home文件夹中的conf (D:\lucene\solr\home\config)下的solrconfig.xml, 配置<dataDir>${solr.data.dir:}</dataDir>为(这里指定data的路径)

<dataDir>${solr.data.dir:D:\lucene\solr\home\data}</dataDir>

  

4.设置相应的tomcat中的server.xml的context,在<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">下面增加类似如下内容:

<Context path="/solr" docBase="D:\lucene\solr\server\solr" reloadable="false"></Context>

  

5.为context设置相应的环境变量,说明solr的主目录的地址(在coontext中增加environment):

<Context path="/solr" docBase="D:\lucene\solr\server\solr" reloadable="false">
<Environment name="solr/home" type="java.lang.String" value="D:\lucene\solr\home" override="true"/>
</Context>

  

6.修改solrconfig中的

<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="${solr.velocity.enabled:false}"/>

  

7: 修改D:\lucene\solr\server\WEB-INF\web.xml 打开

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

  

8: 启动tomcat

9:通过localhost:8080/solr验证配置,出现如下页面说明配置成功

solr 3.5.0 与 tomcat 7.0.5 整合配置

10:加入中文分词(这里需要下载中文分词包,我下载的是mmseg4j)

将中文分词的包加入到Server的lib中;

在 solr的 schema.xml 中定义 field type如:

<fieldType name="textComplex" class="solr.TextField" >
<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="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/>
</analyzer>
</fieldType>

  dicPath 指定词库位置(每个MMSegTokenizerFactory可以指定不同的目录,当是相对目录时,是相对 solr.home 的目录),mode 指定分词模式(simple|complex|max-word,默认是max-word)。

把mmseg4j的data中的四个文件(chars.dic;units.dic; words.dic; words-my.dic)拷贝到dic中.

OK,这样就配置成功了,而且还可以使用mmseg4j中文分词。

solr demo : 实现索引的增删改查:https://github.com/EstarG/solrDemo