一。索引时analyzer
我们知道,在Indexer进行index时,是利用IndexOutputFormat进行rewrite的,其中write filters有一个:LuceneWriter。它是这样处理的:
*如果crawl过程index filters有添加lang field,那么在此时是依据此它进行retrieve plugin related NutchAnalyzer;否则
*使用default NutchDocumentAnalyzer。默认地,它使用了ContentAanlzyer and AnchorAnalyzer,但这两个都是不理想的,所以本来是需要改造的。即使用self-defined analzyer instead of it.
总结以上二点,就是默认的使用了self-defined analyzer to index.
要做到像gg这样的,可以在index是添加一上lang filed就行了。
二。搜索query 时analyzer
我们在调用Query生成一个Nutch's query时,需要调用Query.parse(keywrod,lang,conf)方法,同样这时也产生了一个anayzer depended upon the lang。然后传递给由javacc定义的NutchAnalysis来parse,并在compound阶段进行tokenized string.
但发现只有在WORD,ACRONYM,SIGRAM时才触发。
所以这个与index时是同一个的。
三。highlight时analyzer
在搜索时取回summary时已经进行了smmary filter.如FetchSegments.getSummary(hits,query)。
(注意这个query是利用二中的query,所以如果这里的query对应的analyzer如果与具体的summary filter中的不对应时,可以引起问题。)
由于系统取回具体的plugin时只对第一个有效,所以即便在xml中添加了多个也是没有有的,因为原则上不需要像其它filters一样要处理多次。这里默认使用BasicSummarier(另外还有一个LuceneSummarier)。其中它指定了NutchDocumentAnalyzer来进行tokenized.表明这与customerized analyzer plugin是有区别的。
综合分析,index与search是为了符合传统意义上的搜索匹配原则,所以使用的是同一个analyzer;
而highlighht是系统内置的另外一个实现。当然了,如果没有具体的langage specailed analyzer时,将统一使用系统的,即NutchDocumentanalyzer。
我想,之所以有这个区别,这对很多大型综合搜索引擎来说,这是类似的。这是为了更加贴近用户的体验也罢。
分享到:
相关推荐
要使用Nutch插件,开发者需要在`conf/nutch-site.xml`配置文件中添加插件的名称到`plugin.includes`列表中。每个插件都有一个`plugin.xml`文件,用于描述插件信息,以及一个`build.xml`文件,指导Ant构建工具如何...
本文将详细介绍Nutch插件机制的核心概念、工作原理以及如何开发和使用插件。 #### 二、Nutch插件机制的重要性 Nutch之所以采用插件机制,主要有以下三个原因: 1. **可扩展性**:通过插件,Nutch允许用户根据自己...
这个“Nutch使用&Nutch;入门教程”将带你深入理解Nutch的基本概念、工作流程以及如何实际操作它来执行网络爬取任务。 一、Nutch简介 Nutch是一个基于Java的开源搜索引擎,其主要功能包括网页抓取、链接分析、网页...
nutch 使用文档 Nutch 是一个开源的网络爬虫工具,使用 Java 语言编写,主要用于爬取和索引互联网上的网页。下面是 Nutch 的使用方法和相关知识点。 Nutch 搭建过程 Nutch 的搭建过程主要包括准备工作、安装 ...
### Nutch 使用指南 #### 一、概述 Nutch 是一个开源项目,旨在帮助用户构建自己的内部网搜索引擎或面向整个互联网的搜索引擎。本指南将基于 Nutch 的版本 0.7,详细介绍如何设置和配置 Nutch 以进行内部网爬取...
本文档将引导你入门Nutch的基本使用,包括环境配置、部署、爬取网页以及搜索功能的实现。 **环境要求:** 1. **JDK 1.5 或更高版本** - Nutch 需要Java开发环境支持,确保你的系统已经安装了Java,并且版本符合要求...
MP3文件信息解析是音频处理领域的一个重要环节,...这需要对ID3标准有深入理解,并熟悉Nutch的插件体系和解析机制。通过定制`parse-html`,我们可以实现对MP3文件的智能处理,从而更好地服务于音频内容的检索和管理。
《Nutch 入门教程.pdf》这本书籍或文档应该包含了 Nutch 的基础知识、安装配置、使用示例以及常见问题解答等内容。通过阅读此教程,你可以了解如何搭建 Nutch 爬虫环境,编写自定义插件,以及进行定制化抓取和索引。...
Nutch的强大之处在于其插件机制,用户可以根据需求编写自己的插件,如自定义解析器、URL过滤器、索引器等。Nutch的核心组件包括:`fetcher`(负责下载网页)、`parse`(解析HTML)、`index`(创建索引)和`scoring`...
使用Nutch的插件机制,可以构建一个能够搜索不同类型信息载体的平台。它也可以简单地集成到网站中,为用户提供搜索服务。 目标:Nutch的目标是让每个人都能以极低的成本配置出一流的Web搜索引擎。为达成这一目标,...
- **学习源码**:深入阅读Nutch的源码,理解其内部机制和工作流程。 - **实践项目**:尝试建立自己的小规模搜索引擎项目,应用Nutch解决实际问题。 5. **参考资料** - 官方文档:Apache Nutch官网提供了详细的...
Nutch是Apache软件基金会的一个...总的来说,这份"nutch开发资料 搜索引擎"包含的资源对于想要深入学习和使用Nutch的人来说非常有价值。通过阅读源码和实践,开发者可以掌握搜索引擎的实现原理,提升自己的技能水平。
6. **Link Analysis**:Nutch使用PageRank算法进行链接分析,计算网页的重要性,提升搜索结果的相关性。 7. **配置文件**:Nutch的配置文件非常重要,它们定义了爬虫的行为、抓取策略、抓取间隔、存储路径等参数。...
4. **Nutch版本**:在例子中使用的是Nutch 0.8版本,但你应该从Apache Nutch的官方网站下载最新的稳定版本,以获取最新的特性和修复。 5. **Tomcat**:Nutch可能需要与Tomcat集成,特别是如果你想使用Nutch的Web...
由于Nutch使用了一些外部库,如MP3和RTF格式的解析库,你需要手动将这些库添加到项目的Classpath中。可以通过以下步骤实现: 1. 访问Nutch的源码库,找到相应的库文件: - MP3解析库:`...
2. **分词(Tokenization)**:Nutch使用了Apache Lucene库进行文本分析,包括分词、停用词移除、词干化等预处理步骤,以准备数据供索引使用。 3. **索引(Indexing)**:索引模块将抓取的网页内容转化为可供搜索的...
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎...8.3.1使用Nutch API....53 8.3.2使用OpenSearch API...55 8.4 nutch的应用前景.57 附录一: nutch的相关网站......58 附录二: 参考文献..58
Nutch的应用涵盖了修改源码、插件机制(plugin)、API接口的使用以及Nutch的应用前景。通过编写plugin,用户可以扩展Nutch的功能,实现更多定制化的搜索需求。Nutch API和OpenSearch API则允许开发者在应用程序中...