Solr与mmseg4J的整合
一. solr安装
1. 下载solr
http://www.apache.org/dyn/closer.cgi/lucene/solr/
2. apache-solr-1.4.1.zip解压,复制dist/apache-solr-1.4.1.war到TOMCAT_HOME/webapps下,改名为solr.war,启动tomcat;
3. 在控制台看到启动完毕关闭tomcat,有报错不用管;
4. 进入TOMCAT根目录,创建文件夹solr_home, 将apache-solr-1.4.1\example\solr下的conf、data、bin三个文件夹复制到solr_home下;
5. 进入webapps/solr/WEB-INF,打开web.xml,第37行,注释打开,修改如下:
- <env-entry>
- <env-entry-name>solr/home</env-entry-name>
- <env-entry-value>../solr_home</env-entry-value>
- <env-entry-type>java.lang.String</env-entry-type>
- </env-entry>
6. 此时再启动tomcat,访问http://localhost:8080/solr,solr安装完毕。
二. mmseg4j安装
1. 下载mmseg4j
http://code.google.com/p/mmseg4j/downloads/list
2. 解压mmseg4j-1.8.4.zip,复制mmseg4j-all-1.8.4.jar到TOMCAT_HOME/webapps/solr/WEB-INF/lib下;
3. 进入TOMCAT_HOME/solr_home/conf,打开schema.xml, 在<types></types>之间加入:(我加在了399行左右)
- <fieldType name="textComplex" class="solr.TextField" >
- <analyzer>
- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="data/"/>
- </analyzer>
- </fieldType>
- <fieldType name="textMaxWord" class="solr.TextField" >
- <analyzer>
- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="data/"/>
- </analyzer>
- </fieldType>
- <fieldType name="textSimple" class="solr.TextField" >
- <analyzer>
- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="data/"/>
- </analyzer>
- </fieldType>
4. 将mmseg4j-all-1.8.4-with-dic.war解压在一个临时文件夹中,然后将data文件夹内的chars.dic、units.dic、words.dic三个字典文件复制到TOMCAT_HOME/solr_home/data中;
5. 启动tomcat,访问http://localhost:8080/solr/admin/analysis.jsp,选择Field下拉选项中的type,后面输入textComplex,然后在Field value中随便复制一段中文文字,点击Analyz,就可以看到mmseg4j的分词结果了。