当前位置: 首页 > 工具软件 > Paoding > 使用案例 >

paoding java_solr 和paoding整合

莘俊能
2023-12-01

安装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,做如下修改:

··· ···

··· ···

其中里面的为原来默认的内容

 类似资料: