根据下面这个链接教程编码后试验发现标题只是加上了<strong></strong>标签,并没有实现<strong>标签的效果。不知道作者用的是那个版本的nutch,我用1.2版没效果。

http://hi.baidu.com/conquer84/blog/item/50bc43eea1a147fdb2fb959a.html

链接的教程:

在org.apache.nutch.searcher.HitDetails这个类中

添加一个新定义:

public String getColValue(String title,String digString)
{
   return getValue(title).replaceAll(digString.toUpperCase(),"<strong>"+digString.toUpperCase()+"</Strong>");
}

然后再search.jsp里把String title = detail.getValue("title"); 改成String title = detail.getColValue("title",queryString);

就是在调用detail.getValue("title");这个方法的地方改成detail.getColValue("title",queryString);

这样做的话在1.2版中只是在标题显示<strong></strong>标签,看下源码,发现title不是直接显示出来,而是经过一个叫Entities的类重新编码,可在search.jsp中第265行中看到。我的做法是把这行中的Entities.encode(title)改成title就行。

如果还想加上颜色就把

"<strong>"+digString.toUpperCase()+"</Strong>"

改成

"<Strong><font color=#ff0000 >"+digString.toUpperCase()+"</font></Strong>"

我这是改成红色。

                                                                                                                                                                  2010-10-4