Nutch1.2标题关键字高亮的正确方法

最近在弄Nutch1.2,实现关键字高亮,却发现标题关键字高亮的方法,国内网站上的都是错的,最终在nutch.apache.org网站找到了相近的代码,进行修改,终于成功完成
关键字的高亮需要自己再创建一个分词器,关键的类是TokenStream,lucene3.0以上需要用到TermAttribute。

一、内容关键字高亮很简单,修改include/style.html即可:

   .highlight {
          color:#FF0000;
   }

二、标题关键字高亮的方法:

     我们从内容关键字高亮的方法可以得到启发:

     首先来看这一句:

     String summary = summaries[i].toHtml(true);

     这个是调用了org.apache.nutch.searcher.Summary方法
     public String toHtml(boolean encode){...}

     这是标题的获取方法

     String title = detail.getValue("title");

     我们可不可以也像summary一样调用呢,答案是肯定的,但是,nutch本身并未提标题关键字高亮的方法,这里需要我们写类和方法。

     新建Titler.java
    
package org.apache.nutch.searcher;

import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.HashSet;

import org.apache.hadoop.conf.Configurable;
import org.apache.hadoop.conf.Configuration;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
import org.apache.nutch.analysis.NutchDocumentAnalyzer;
import org.apache.nutch.searcher.Summary.Fragment;

public class Titler implements Configurable {

    private int ma
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值