`

在Nutch中使用庖丁解牛中文分词

阅读更多
一年多前曾经关注过一阵子nutch,那时候还是0.7,后来出了0.8版本,前面再看,已经是0.9。正好有点时间想把之前搁下来的校内搜索引擎的事情再拿起来,于是就下载来重新折腾了几天。现在终于“小有成就”,在校内跑起来了,现在来记录一下使用过程中遇到的一些问题,以及解决方法,或有用于同道。

1.加入中文分词

这是天朝人物做搜索要解决的第一件事情。我的办法也偷懒,改了一个类,重新构建一下就ok了。

首先当然是要下载nutch-0.9的压缩包。之后打开org.apache.nutch.analysis.NutchDocumentAnalyzer,按下面的方式修改:

<!---->//加入庖丁解牛分词器属性
private static Analyzer PAODING_ANALYZER;

//修改初始化方法,初始化庖丁解牛分词器
public NutchDocumentAnalyzer(Configuration conf) {
  
//,加下面的一句
  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);
  }

上面是索引的时候用的,下面对查询部分作修改:打开
分享到:
评论
5 楼 952222 2009-07-30  
我有个奇怪的问题想问一下,就是搜索的时候如果搜索类似“互联网”“成立于”这类三个字是两个词语的词语,就会出现搜索页面显示空白。按常理来说应该要么显示结果要么显示没有结果,可是它却显示一个空白页面,什么都没有,请问是什么原因呢?
4 楼 952222 2009-07-28  
下面还有半边哪去啦?
3 楼 952222 2009-07-28  
真简单。
2 楼 diddyrock 2008-12-30  
日是我搞错了
1 楼 diddyrock 2008-12-30  
lz好像应该是
  if ("anchor".equals(fieldName))
      analyzer = ANCHOR_ANALYZER;
    else
      analyzer =  PAODING_ANALYZER;吧

相关推荐

Global site tag (gtag.js) - Google Analytics