`
mr_lonely_hp
  • 浏览: 91151 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

关于nutch1.0二次开发需要更改的东西

阅读更多

二次开发的时候,需要重点对Nutch的界面及界面显示数据进行适当的调整。

目前据我了解到的要修改的地方有以下几点:

1。搜索页面页头页尾log修改、选项卡乱码显示问题。
2。显示查询结果行 添加查询用时
3。查询结果摘要长度修改,默认只有20个字符。
4。网页快照乱码修改,以及后面的(评分详解) (anchors) (more from news.qq.com)菜单项修改。
5。show all hits修改
6。分页功能修改,源码只有下一页功能。
7。文本高亮显示。


改变摘要长度,在文件nutch-site.xml中
<configuration>
...
<property>
<name>searcher.summary.length</name>
<value>100</value>//默认为20
<description>
The total number of terms to display in a hit summary.
</description>
</property>
...
</configuration>


所谓网页快照及搜索引擎服务器端存储的网页副本。Nutch通过关键字进行搜索网页的时候,会查询出这个关键字对应的相关信息,比 如:title、url、content等等。通过URL可以链接到该URL对应的网页。而网页快照其实是Nutch爬虫爬取下来的网页内容。因此,当点 击网页快照时,我们根据索引文档的ID,去索引出原网页内容。该源代码在查询服务系统中的 cache.jsp中,下面是相关代码:
Hit hit = new Hit(Integer.parseInt(request.getParameter("idx")),
request.getParameter("id"));
HitDetails details = bean.getDetails(hit);
….

String content = new String(bean.getContent(details));
另外还涉及到Nutch 网页快照的中文问题,中文时采用UTF-8取得内容就行了。
修改cached.jsp,把
content = new String( bean.getContent(details) );
改成
content = new String( bean.getContent(details) ,"utf-8");
如果需要对内容的显示方面做一些修改的话,通过该页面也可以修改。


高亮显示涉及到的类为:org.apache.nutch.searcher.Summary,修改该类即可:
public String toHtml(boolean encode) {
Fragment fragment = null;
StringBuffer buf = new StringBuffer();
for (int i=0; i<fragments.size(); i++) {
fragment = (Fragment) fragments.get(i);
if (fragment.isHighlight()) {
buf.append("<span style=\"color:red \" >") // 修改前语句 buf.append("<span style=\"hightlight \" >")
.append(encode ? Entities.encode(fragment.getText())
: fragment.getText())
.append("</span>");
} else if (fragment.isEllipsis()) {
buf.append("<span class=\"ellipsis\"> ... </span>");
} else {
buf.append(encode ? Entities.encode(fragment.getText())
: fragment.getText());
}
}
return buf.toString();
}

分享到:
评论

相关推荐

    Nutch1.0的API chm格式

    Nutch1.0的API,不过注意没有搜索功能

    Nutch1.7二次开发培训讲义

    ### Nutch 1.7 二次开发培训讲义知识点概览 #### 一、环境搭建与准备工作 **1. 开发环境的选择与配置** - **操作系统:** 二次开发Nutch 1.7时,开发阶段的操作系统选择相对灵活,只要确保安装了JDK和Eclipse即可。...

    开源搜索引擎nutch-1.0.part01.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    Nutch1.0:Nutch1.0修改版(整合中文分词)原始码修改,编译打包-修改

    在这个特定的“Nutch1.0修改版”中,开发者已经对原始代码进行了调整,以整合中文分词功能。这使得Nutch能够更有效地处理中文网页的抓取和索引,从而在中文搜索引擎应用中发挥更大的作用。 中文分词是中文信息处理...

    Eclipse中编译Nutch-1.0

    通过Eclipse编译Nutch-1.0不仅是一次技术实践,更是深入理解开源软件开发流程的机会。它帮助开发者掌握跨平台的项目构建技巧,同时也提供了学习如何解决开源项目中常见问题的经验。这对于任何希望在IT行业特别是...

    nutch二次开发学习笔记

    我们需要去抓取网页数据的时候我们就用nutch来爬取,我们对它进行二次开发使其更加符合我们的需求

    nutch-1.0part1

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

    Nutch 1.0part6

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

    Nutch1.0 part4

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

    Nutch1.0part5

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

    开源搜索引擎nutch-1.0.part09.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0

    Nutch1.7二次开发培训讲义 之 腾讯微博抓取分析

    ### Nutch 1.7 二次开发培训讲义之腾讯微博抓取分析 #### 一、概述 Nutch 是一个开源的网络爬虫项目,它提供了灵活的数据抓取能力,并支持二次开发定制功能。本篇培训讲义主要针对的是如何使用 Nutch 1.7 版本对...

    开源搜索引擎nutch-1.0.part08.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0

    开源搜索引擎nutch-1.0.part07.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0

    Nutch-1.0分布式安装手册.rar

    首先,安装Nutch-1.0分布式版需要的基础环境包括Java开发套件(JDK)和Hadoop。JDK是运行Nutch所必需的,因为它是一个用Java编写的程序。Hadoop则是Nutch处理大数据的核心框架,提供了分布式存储(HDFS)和计算...

    nutch-1.0-dev.jar

    nutch-1.0-dev.jar nutch devlope

    Nutch插件开发文档

    #### 二、Nutch插件开发基础 为了更好地理解Nutch插件的开发过程,我们需要先了解几个关键的概念: 1. **Pluggable接口**:这是所有扩展点必须实现的一个通用接口,用于确定一个类是否能够作为插件集成到Nutch框架...

    nutch初体验

    2. **配置Nutch**:修改Nutch的配置文件以适应你的需求,如抓取策略、存储路径等。 3. **运行Nutch**:执行爬虫任务,观察日志,了解其运行状态。 4. **索引和搜索**:将抓取的数据建立索引,然后使用Nutch的搜索...

    nutch开发资料 搜索引擎

    开发者可以通过阅读源码理解其内部机制,并进行二次开发。 6. **Hadoop集成**:Nutch充分利用了Hadoop的分布式计算能力,将大型数据集的处理分布到多台机器上。Hadoop MapReduce框架用于处理大规模数据的索引和搜索...

Global site tag (gtag.js) - Google Analytics