Nutch、Hadoop、Lucene、Solr 之间 的数据交互

2019-03-28 13:53|来源: 网络

Nutch1.4

最近一段在研究Nutch、Solr,Nutch 把数据 存放在 HDFS 上,想探讨一下 Nutch 是怎么把数据存储到HDFS 上,查看源码分析。

在看 Nutch 源码时,没有找到一点于 Lucene 关联的内容,Nutch 把所有的,都按自己的重新写了一遍,NutchDocument、NutchField ,都 实现 Hadoop的 Writable 接口。这样就很容易的写到了 HDFS 上。

Nutch 可以 用 把数据传输给 Solr

bin/nutch solrindex http://127.0.0.1:8983/solr/ crawldb -linkdb crawldb/linkdb crawldb/segments/*
这个命令调用的是:org.apache.nutch.indexer.solr.SolrIndexer 

在上面会 MapReduce 的配置 及启动。查看Reduce的实现,没有任何的 向Solr 写内容的代码,在初始化Job的时候

NutchIndexWriterFactory.addClassToConf(job, SolrWriter.class); 

有一个这样的类,SolrWriter ,在这个里面可以找到相关与Solr交互的代码。

而Solr 里,接收请求的是:BinaryUpdateRequestHandler ,会把 Nutch 传进来的 内容 转换成 Lucene 的索引。

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

相关问答

更多
  • apache lucene是apache下一个著名的开源搜索引擎内核,基于Java技术,处理索引,拼写检查,点击高亮和其他分析,分词等技术。 nutch和solr原来都是lucene下的子项目。但后来nutch独立成为独立项目。nutch是2004年由俄勒冈州立大学开源实验室模仿google搜索引擎创立的开源搜索引擎,后归于apache旗下。nutch主要完成抓取,提取内容等工作。 solr则是基于lucene的搜索界面。提供XML/HTTP 和 JSON/Python/Ruby API,提供搜索入口,点击 ...
  • 当你搜索一个关键词点击搜索,当前的页面代码会向百度的数据库提交你要搜索内容。 这个时候百度的数据库会自动匹配出你要搜索内容,然后再通过网页代码将搜索的结果一条一条,用网页代码呈现到你眼前! 如果对宝宝有帮助,请采纳!谢谢!
  • @darkheir:Lucene和Solr是两个不同的Apache项目,一起工作,我不明白每个项目的目的是什么。 1)Solr在底漆下使用Lucene。 Lucene没有关于Solr API的线索。 2)Lucene是一个功能强大的搜索引擎框架,可以让我们为我们的应用程序添加搜索功能。 它暴露了一个易于使用的API,同时隐藏所有与搜索相关的复杂操作。 任何应用程序都可以使用这个库,而不仅仅是Solr。 3)Solr是围绕Lucene建造的。 Lucene不仅仅是一个http包装,而且已经知道可以向Lucen ...
  • 问题是solr,nutch和hbase之间的版本不兼容。 这篇文章对我来说非常合适。 The problem was version incompatibility between solr, nutch and hbase. This article worked perfectly for me.
  • 在signatureField标签中,我有“id”而不是“signature” true true ...
  • 由于文档没有url字段,因此文档的id为空,因此在运行下面的方法时抛出空指针异常。 下面是来自nutch 1.7 trunk的SolrDeleteDuplicate类的代码,其中solr记录被id字段删除。 updateRequest.deleteById(solrRecord.id); updateRequest => org.apache.solr.client.solrj.request.UpdateRequest的实例 solrRecord =>需要删除的solr文档。 id => solr文档的 ...
  • Lucene使用Vector空间模型的概念来计算文档的分数。 总之,查询和文档可以看作是矢量。 为了计算特定查询的文档分数,Lucene计算每个文档向量与查询向量的距离。 VSM查询附近的文档越多,分数越高。 你可以通过查看Lucene的Similarity类和Lucene的Scoring文档来获得更多的细节。 Lucene uses concepts from the Vector space model to compute the score of documents. In summary, que ...
  • 我想我还记得看过Atlassian的一些演讲,他们解释说,对于Jira来说,现在只使用Lucene,他们放弃了以前的数据库(无论是什么)并使用Lucene作为存储。 他们很高兴。 如果有人能够确认它们会很酷。 编辑: http://blogs.atlassian.com/rebelutionary/downloads/tssjs2007-lucene-generic-data-indexing.pdf I think I remember watching some presentation from At ...
  • 我有同样的经验试图在Tomcat调用中找到Lucene时间。 你要做的是: 使用VisualVM 1.2.2。 选择相关流程并按“配置文件”。 选中“设置”复选框。 这应打开“CPU设置”选项卡,其中包含您可以填写的字段。 在“从类开始分析:”中,在代码中写入一个入口点(例如com.my.company.NutchUser) 取消选中“配置新的runnables”。 选择“Profile only classes:”并在其下面写:org.apache.lucene。* org.apache.nutch。* ...
  • 我们可以定制嵌入在Solr中的Lucene吗? 是的,你可以 。 但请记住这一点: Lucene和Solr提交者是全文搜索领域的一些最重要的专家。 他们在这个领域有多年的经验。 如果你认为你可以比他们做得更好,那么继续改变Solr以满足你的需求(它是Apache许可的,所以没有任何商业限制),如果你这样做,试着这样做,以便你以后可以贡献它回到项目,这样每个人都可以受益,项目也会向前发展。 对于绝大多数Solr用户而言,库存产品绰绰有余并满足所有需求。 换句话说,在进入更改代码之前,在邮件列表(stackov ...