`

nutch 搜索流程 1-local search

 
阅读更多

nutch搜索时进行了querys优化处理,包括缓存等。

为了对实际的搜索过程进行分析,让我们来对现成的搜索代码进行分析。

 

一。流程

二。分析

1.initiated nutch query

利用Query来parse生成,具体分成三步:

*NutchAnalysis.parseQuery():如果根据指定语言没有找到指定analyzer,则使用默认的NutchdocumentAnalyzer。其实这个default analyzer是一个encapsulator,如果是anchor则使用AnchorAnalyzer,否则使用ContentAnalzyer。

然后,利用javacc定义好的Lexical analyzer来对query进行normalization,这部分形如一般的查询系统一样必要,所以不进行討論。

最后 返回 一个Nutch query。

 

*fixed query:对上述的query中unkown fields进行phase query转换。

*initiate query conditions 包括形如start offset ,hitsPerSite,sort etc。

 

2.query filters

根据已经注册的query plugins进行filter。其中BasicQueryFilter是必须的,fitler时有一个步骤不是很明确:

addSloppyPhase() 从名字上看好像是说可选的phase,而且在最后看到对于每个field,它的原则都 是Occur.SHOULD。所以我猜测,它将所有的terms合并成一个phase query是为了提高查询的精确度,that is context related! right ?

这个可以在大量数据集的情况下可以调试比较。

 

3.optimized query

有意思的是,Nutch的reverse与否使用 不同的查询策略。如果是ascending,则使用Limit来限制;否则直接使用lucene的query。觉得有点可疑 ,为什么要这样区分 而不是同一使用limit?这是为了减少内存使用?ascending容易实现?

觉得都不是太对。

 

4.retireve results

index其实就是一个相关性检测和过滤检索前提,后面就是依据index no,uniquekey,url等metadata进行ParseText,ParseData等数据的处理,这步要利用hadoop来检索。

Fragment: 代表个基本的text元素

Highlight,Ellipsis:继承自fragment

以上三个是由BasicSummarier处理的。

而最終的显示是由Summary.toHTML()处理。

 

 

 

 

 

  • 大小: 33.4 KB
分享到:
评论

相关推荐

    apache-nutch-2.3.1-src.tar.gz

    8. **索引存储**:Nutch 可以将抓取的网页数据存储在各种后端,如 HDFS 或者本地文件系统,索引可以被 Elasticsearch 或者 Solr 等搜索引擎读取。 9. **爬虫调度**:Nutch 使用一个调度器(如 FairScheduler 或 ...

    apache-nutch-1.4-bin.tar.gz

    Apache Nutch 是一款高度可扩展的开源搜索引擎,它主要用于网络数据的抓取和索引。Nutch 的设计目的是为了提供一种高效、可靠且易于维护的解决方案,尤其适用于大数据量的互联网内容处理。在这个"apache-nutch-1.4-...

    apache-nutch-1.7-src.tar.gz

    Apache Nutch是一个强大的开源搜索引擎项目,它主要用于网络爬虫和数据索引。Nutch是由Apache软件基金会开发并维护的,其目标是提供一种可扩展、可靠的全网搜索解决方案。Nutch 1.7是该项目的其中一个稳定版本,包含...

    nutch配置nutch-default.xml

    nutch配置nutch-default.xml

    apache-nutch-1.3-src.tar.gz_nutch_nutch-1.3.tar.gz

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便进行全文搜索。Nutch 1.3 是该项目的一个稳定版本,提供了许多关键功能和改进。这个源码包 "apache-nutch-1.3-src.tar.gz" 和 ...

    apach-nutch-1.9-bin.tar.gz

    6. **Nutch 与其他组件集成**:尽管Nutch 1.9不直接支持HBase,但它可以与Solr或Elasticsearch等搜索服务器集成,提供更高级的搜索功能。你还可以通过Hadoop MapReduce进一步扩展Nutch的功能。 7. **优化与监控**:...

    Nutch搜索引擎(1-5期)

    Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)

    apache-nutch-1.5.1-bin.tar.gz

    Nutch是一款刚刚诞生的完整的开源搜索引擎系统,可以结合数据库进行索引,能快速...Nutch的开放源代码方便任何人去查看Nutch排序算法的工作流程。因此Nutch就可以更好的发展,为那些爱好搜索引擎的人们提供了一个平台。

    分析Nutch的工作流程

    ### Nutch工作流程详解 #### 一、Nutch概述及工作流程概览 Nutch是一款开源的网络爬虫项目,其主要功能在于抓取互联网上的网页,并对其进行分析、索引,以便用户能够快速检索到所需的信息。Nutch的灵活性和可扩展...

    apache-nutch-1.6-bin.tar.gz最新版

    nutch不用安装,是个应用程序,下载后为nutch-1.6.tar.gz,双击桌面上的cygwin快捷方式;执行以下命令: $ cd D:/Downloads/Soft $ tar zxvf nutch-1.0.tar.gz 在e盘下面出现nutch-0.9文件夹说明解压成功了.然后环境...

    apache-nutch-1.4-bin.part1

    apache-nutch-1.4-bin.part1

    lucene+nutch搜索引擎(1-11章源码)

    本篇文章将围绕"lucene+nutch搜索引擎(1-11章源码)"进行详细解析,帮助你深入了解这两个强大的工具。 首先,让我们来看看Lucene。Lucene是Apache软件基金会的一个项目,是一个高性能、全文本搜索库,提供了文本...

    apache-nutch-2.3.1-src

    apache-nutch-2.3.1-src.tar ,网络爬虫的源码, 用ivy2管理, ant runtime 编译 apache-nutch-2.3.1-src.tar ,网络爬虫的源码, 用ivy2管理, ant runtime 编译

    apache-nutch-1.6-src.tar.gz

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的信息检索。Nutch 1.6 是该项目的一个稳定版本,提供了丰富的功能和良好的性能。这个`apache-nutch-1.6-src.tar...

    apache-nutch-1.4

    - **Solr和Elasticsearch**:Nutch可以与Apache Solr或Elasticsearch集成,提供高性能的搜索功能。 - **HBase**:Nutch也可与HBase结合,用于存储和检索大规模数据。 7. **社区支持** - **文档**:Nutch项目提供...

    apache-nutch-1.4-bin.tar.gz.part2

    apache-nutch-1.4-bin.tar.gz.part2

    apache-nutch-1.4-src.tar.gz_nutch_搜索引擎

    5. **搜索接口(Search Interface)**:Nutch 提供了一个简单的搜索API,可以用来查询索引并返回结果。结果通常按照相关性排序,相关性计算基于TF-IDF等算法。 6. **配置和扩展(Configuration and Extension)**:...

    apache-nutch-1.4-bin.tar.gz.part1

    apache-nutch-1.4-bin.tar.gz.part1

    nutch-1.0-dev.jar

    nutch-1.0-dev.jar nutch devlope

Global site tag (gtag.js) - Google Analytics