solr(3)整合paoding
来源:互联网 发布:python版的rstudio 编辑:程序博客网 时间:2024/06/03 20:09
1.下载paoding-analysis-2.0.4-beta.zip
http://code.google.com/p/paoding/downloads/list
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
package org.paoding;
import java.io.Reader;
import java.util.Map;
import net.paoding.analysis.analyzer.PaodingTokenizer;
import net.paoding.analysis.analyzer.TokenCollector;
import net.paoding.analysis.analyzer.impl.MaxWordLengthTokenCollector;
import net.paoding.analysis.analyzer.impl.MostWordsTokenCollector;
import net.paoding.analysis.knife.PaodingMaker;
import org.apache.lucene.analysis.TokenStream;
import org.apache.solr.analysis.BaseTokenizerFactory;
/**
*中文切词 对庖丁切词的封装
*/
publicclass ChineseTokenizerFactory extends BaseTokenizerFactory {
/**
*最多切分 默认模式
*/
publicstatic final StringMOST_WORDS_MODE = "most-words";
/**
*按最大切分
*/
publicstatic final StringMAX_WORD_LENGTH_MODE = "max-word-length";
private Stringmode = null;
publicvoid setMode(String mode) {
if (mode==null||MOST_WORDS_MODE.equalsIgnoreCase(mode)
||"default".equalsIgnoreCase(mode)) {
this.mode=MOST_WORDS_MODE;
}else if (MAX_WORD_LENGTH_MODE.equalsIgnoreCase(mode)) {
this.mode=MAX_WORD_LENGTH_MODE;
}
else {
thrownew IllegalArgumentException("不合法的分析器Mode参数设置:" + mode);
}
}
@Override
publicvoid init(Map args) {
super.init(args);
setMode( (String) args.get("mode"));
}
public TokenStream create(Reader input) {
returnnew PaodingTokenizer(input, PaodingMaker.make(),
createTokenCollector());
}
private TokenCollector createTokenCollector() {
if(MOST_WORDS_MODE.equals(mode))
returnnew MostWordsTokenCollector();
if(MAX_WORD_LENGTH_MODE.equals(mode))
returnnew MaxWordLengthTokenCollector();
thrownew Error("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,做如下修改:
<fieldTypename="text" class="solr.TextField" positionIncrementGap="100">
<analyzertype="index">
<!--<tokenizer class="solr.WhitespaceTokenizerFactory"/>-->
<tokenizerclass="org.paoding.ChineseTokenizerFactory"mode="most-words"/>
··· ···
</analyzer>
<analyzertype="query">
<!--<tokenizer class="solr.WhitespaceTokenizerFactory"/>-->
<tokenizerclass="org.paoding.ChineseTokenizerFactory"mode="most-words"/>
··· ···
</analyzer>
</fieldType>
其中<!-- -->里面的为原来默认的内容
6.重启tomcat即可。进行测试http://localhost:8888/solr/admin/analysis.jsp
- solr(3)整合paoding
- use paoding chinese word segmentation in solr
- 搜索引擎分词:Nutch整合Paoding中文分词步骤详解
- 搜索引擎分词:Nutch整合Paoding中文分词步骤详解
- solr和tomcat整合
- Solr Tomcat 整合教程
- solr与tomcat整合
- Solr与tomcat整合
- solr和mongodb整合
- Tomcat与Solr整合
- Tomcat与Solr整合
- Solr整合MySQL
- solr整合常见异常
- solr整合spring
- solr安装(solr与tomcat整合)
- 在Tomcat 7上部署Apache Solr 3.5和Paoding分词器
- nutch安装,与solr整合
- Tomcat和Solr的整合
- shell 中字符串的操作和处理(截取)
- 双系统重新安装xp后,ubuntu选项消失
- WPF数据绑定(二)
- BlueStacks模拟器:多平台上运行Android应用
- Hibernate初级知识学习(3)
- solr(3)整合paoding
- win8下QQ五笔引起记事本未响应,改用极点五笔就可以了
- 条件变量
- 函数指针 指针函数
- Facebook's Graph Search Won't Hurt Google Without your Help
- c#中用声音提示报警 .
- js简单操作
- 数组指针 指针数组
- test bridge