安装solr1.3
1.安装tomcat6.0
3.解压后,打开apache-solr-1.3.0"dist目录,找到apache-solr-1.3.0.war,改名为solr.war(为了方便而已),然后把其考到tomcat的webapps目录下。
4.运行tomcat后再webapps下会自动生成solr文件夹。
5.在tomcat下的"conf"Catalina"localhost中加入solr.xml,内容如下:
其中docBase对应solr.war的路径,可以改动
Value对应solr的home,可以改动
6.把apache-solr-1.3.0"example"solr下的文件夹(包括bin,conf,data)考到solr的home目录下。
二.整合paoding
1.下载paoding-analysis-2.0.4-beta.zip
2.解压压缩包至paoding-analysis-2.0.4-beta
3.设置paoding的home环境变量:
l把paoding-analysis-2.0.4-beta中的dic文件夹考到solr的home文件夹中
l进入paoding-analysis-2.0.4-beta找到paoding-analysis.jar,将其考到tomcat/webapps/solr/solr/WEB-INF/lib下
l解压paoding-analysis.jar,找到文件paoding-dic-home.properties,更改属性如下:
paoding.dic.home=D:/solr/solr/dic(D:/solr/solr为solr的home目录)
l重新编译打包成paoding-analysis.jar
4.封装paoding
packageorg.paoding;
importjava.io.Reader;
importjava.util.Map;
importnet.paoding.analysis.analyzer.PaodingTokenizer;
importnet.paoding.analysis.analyzer.TokenCollector;
importnet.paoding.analysis.analyzer.impl.MaxWordLengthTokenCollector;
importnet.paoding.analysis.analyzer.impl.MostWordsTokenCollector;
importnet.paoding.analysis.knife.PaodingMaker;
importorg.apache.lucene.analysis.TokenStream;
importorg.apache.solr.analysis.BaseTokenizerFactory;
/**
*中文切词对庖丁切词的封装
*/
publicclassChineseTokenizerFactoryextendsBaseTokenizerFactory {
/**
*最多切分默认模式
*/
publicstaticfinalStringMOST_WORDS_MODE="most-words";
/**
*按最大切分
*/
publicstaticfinalStringMAX_WORD_LENGTH_MODE="max-word-length";
privateStringmode=null;
publicvoidsetMode(String mode) {
if(mode==null||MOST_WORDS_MODE.equalsIgnoreCase(mode)
||"default".equalsIgnoreCase(mode)) {
this.mode=MOST_WORDS_MODE;
}elseif(MAX_WORD_LENGTH_MODE.equalsIgnoreCase(mode)) {
this.mode=MAX_WORD_LENGTH_MODE;
}
else{
thrownewIllegalArgumentException("不合法的分析器Mode参数设置:"+ mode);
}
}
@Override
publicvoidinit(Map args) {
super.init(args);
setMode( (String) args.get("mode"));
}
publicTokenStream create(Reader input) {
returnnewPaodingTokenizer(input, PaodingMaker.make(),
createTokenCollector());
}
privateTokenCollector createTokenCollector() {
if(MOST_WORDS_MODE.equals(mode))
returnnewMostWordsTokenCollector();
if(MAX_WORD_LENGTH_MODE.equals(mode))
returnnewMaxWordLengthTokenCollector();
thrownewError("never happened");
}
}
注:其中需要的包为solr.war中的lib库和庖丁文件包中的paoding-analysis.jar
将以上代码打包为paoding.jar(附件中可下载),考到tomcat/webapps/solr/solr/WEB-INF/lib下。
5.找到solr的home目录下的conf(即D:"solr"solr"conf)中的schema.xml,做如下修改:
··· ···
··· ···
其中里面的为原来默认的内容