歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Nutch、Hadoop、Lucene、Solr 之間 的數據交互

Nutch、Hadoop、Lucene、Solr 之間 的數據交互

日期:2017/2/28 15:53:49   编辑:Linux教程

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

Copyright © Linux教程網 All Rights Reserved