用paoding中文分词,先建立词典
vi /etc/profile
export PAODING_DIC_HOME=/data/paoding/dic
将paoding的dic目录里的内容copy到 /data/paoding/dic
windows设置见手册
另外导入lucene/contrib/memory下的包lucene-memory到regain/lib中.再编译.
server版本中有个问题需要修改.如果出现乱码可尝试将
src/net/sf/regain/search/SearchToolkit.java
修改为下面的
queryString = query.toString().trim();
//add by robin
try {
queryString = new String(queryString.getBytes(”iso-8859-1″),”UTF-8″);
} catch (Exception e) {
}
request.setContextAttribute(SEARCH_QUERY_CONTEXT_ATTR_NAME, queryString);
}
Archive for 01月, 2010
是因为highlight这个类中用到了memoryIndex这个类,而默认的classpath下没有放入这个jar文件,所以会报找不到类的异常
JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
一、修改增加中文分词模块为 Paoding-analysis
非常简单,只需要修改一个源码文件。
源代码文件(以下都用下划线表示):src\net\sf\regainRegainToolKit.java
import net.paoding.analysis.analyzer.PaodingAnalyzer;
import org.apache.lucene.analysis.cn.ChineseAnalyzer;
public static Analyzer createAnalyzer(String analyzerType,
String[] stopWordList, String[] exclusionList, String[] untokenizedFieldNames)
throws RegainException
if (analyzerType.equalsIgnoreCase(”english”)) {
analyzerClassName = StandardAnalyzer.class.getName();
} else if (analyzerType.equalsIgnoreCase(”german”)) {
analyzerClassName = GermanAnalyzer.class.getName();
} else if (analyzerType.equalsIgnoreCase(”chinese”)){
analyzerClassName = ChineseAnalyzer.class.getName();//Add by ping.
} else if (analyzerType.equalsIgnoreCase(”paoding”)){
analyzerClassName = PaodingAnalyzer.class.getName();//Add by ping.
}
源码修改只涉及以上一个文件,但是要完整编译和最终运成功,还需要其他修改。
主要包括:
1.修改ant的编译配置文件build.xml,
2.拷贝paoding-analysis.jar到lib目录。
build.xml修改如下:
[这里摘录修改的片段,修改增加部分为粗体]
…
<target name=”runtime-desktop” depends=”prepare-once, runtime-desktop-fast”>
<echo message=”Creating the jars …” />
<fileset id=”desktop-common-jars” dir=”build/included-lib-classes/common”>
<include name=”org/apache/lucene/**”/>
<include name=”org/apache/log4j/**”/>
<include name=”org/apache/regexp/**”/>
<!– Add by ping. –>
<include [...]