一年多前曾经关注过一阵子nutch,那时候还是0.7,后来出了0.8版本,前面再看,已经是0.9。正好有点时间想把之前搁下来的校内搜索引擎的事情再拿起来,于是就下载来重新折腾了几天。现在终于“小有成就”,在校内跑起来了,现在来记录一下使用过程中遇到的一些问题,以及解决方法,或有用于同道。
1.加入中文分词
这是天朝人物做搜索要解决的第一件事情。我的办法也偷懒,改了一个类,重新构建一下就ok了。
首先当然是要下载nutch-0.9的压缩包。之后打开org.apache.nutch.analysis.NutchDocumentAnalyzer,按下面的方式修改:
上面是索引的时候用的,下面对查询部分作修改:打开
1.加入中文分词
这是天朝人物做搜索要解决的第一件事情。我的办法也偷懒,改了一个类,重新构建一下就ok了。
首先当然是要下载nutch-0.9的压缩包。之后打开org.apache.nutch.analysis.NutchDocumentAnalyzer,按下面的方式修改:
//
加入庖丁解牛分词器属性
private static Analyzer PAODING_ANALYZER;
// 修改初始化方法,初始化庖丁解牛分词器
public NutchDocumentAnalyzer(Configuration conf) {
//![](https://i-blog.csdnimg.cn/blog_migrate/9b8a8a44dd1c74ae49c20a7cd451974e.gif)
,加下面的一句
PAODING_ANALYZER = new PaodingAnalyzer();
}
// 修改tokenStream方法,使用庖丁解牛分词器
// 比较简单,就是不管三七二十一用庖丁就结了
public TokenStream tokenStream(String fieldName, Reader reader) {
Analyzer analyzer;
/*
if ("anchor".equals(fieldName))
analyzer = ANCHOR_ANALYZER;
else
analyzer = CONTENT_ANALYZER;
*/
analyzer = PAODING_ANALYZER;
return analyzer.tokenStream(fieldName, reader);
}
private static Analyzer PAODING_ANALYZER;
// 修改初始化方法,初始化庖丁解牛分词器
public NutchDocumentAnalyzer(Configuration conf) {
//
![](https://i-blog.csdnimg.cn/blog_migrate/9b8a8a44dd1c74ae49c20a7cd451974e.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9b8a8a44dd1c74ae49c20a7cd451974e.gif)
PAODING_ANALYZER = new PaodingAnalyzer();
}
// 修改tokenStream方法,使用庖丁解牛分词器
// 比较简单,就是不管三七二十一用庖丁就结了
public TokenStream tokenStream(String fieldName, Reader reader) {
Analyzer analyzer;
/*
if ("anchor".equals(fieldName))
analyzer = ANCHOR_ANALYZER;
else
analyzer = CONTENT_ANALYZER;
*/
analyzer = PAODING_ANALYZER;
return analyzer.tokenStream(fieldName, reader);
}
上面是索引的时候用的,下面对查询部分作修改:打开