Nutch爬取與Solr搜尋結合

2021-05-27 04:55:49 字數 1374 閱讀 1088

不知道為什麼在nutch-1.3中沒了nutch自帶的搜尋war檔案,而且在nutch-1.3中,抓取檔案後,生成的目錄只有crawldb,linkdb,segments,而沒有了indexs和index目錄

查了一下官網wiki,上面是把nutch的索引對映到solr,用solr來提供搜尋功能,詳見官網wiki說明:

對比這兩個,搜尋同一關鍵字,發現nutch搜尋的展示結果有重複,而solr沒有重複,還有solr可以在conf/schema.xml配置字段屬性,nutch好像改了這個配置檔案,也沒起效果,比如,我想讓索引中儲存content和termvector,可是搜尋結果,並沒有儲存

用nutch solrindex命令,將nutch索引對映到solr後,對映過去的是content還是parse_text呢?看了一下原始碼org.apache.nutch.indexer.solr.solrindexer,發現對映過去的是parse_text

而nutch中的content是帶html標籤的文字,所以nutch搜尋的結果是以網頁形式顯示的,所以對應的內容是content,而solr搜尋的content是對映過去的parse_text

如果希望索引能被mahout lucene.vector 轉成向量,則需要儲存termvector屬性,不管是lucene還是solr中加了termvector後,索引目錄中,都會多出.tvd,.tvf,.tvx三個檔案,如果命令引數中有--norm 2,意思就是歐幾里德向量空間,後面在計算距離時就按歐幾里德空間度量距離,當然這個引數可以設定其它的,那就是其它的向量空間模型,詳見官網說明

如果直接將索引轉成mahout向量的話,它的key就變成的整型數字,將索引轉為向量後的檔案key-value是(longwritable,vectorwritalbe),即沒有對應的原始url,就不知道結果如何對應的原始檔案

如果是採用先mahout seqdirectory,然後再mahout seq2saprse的話,在向量檔案中用seqdumper讀取時可以看到key是檔名,但此時value對應的不是數字啊,在用vectordump讀取時,引數加-p就可以顯示出key及value陣列,不過這樣在由最後結果的value從輸入向量中反查url,是不是很麻煩呢?最好的方法是將key也輸出到最終結果中去

估計solr搜尋功能比nutch的搜尋強大吧,所以在nutch-1.3中棄用了。上面只是一點小對比,至於具體的原因,我還沒搞清楚,等有時間,再好好對比一下

2011-10-27 補充說明:

nutch不適合作分布式搜尋,因為在hdfs上面的索引可能不在同一節點,搜尋可能需要請求n個節點才能完成。這樣,對在hdfs上面完成搜尋較本地索引檔案在本地的搜尋效能會略遜一些。參考資料:

solr的優點:

2.solr可配置、可擴充套件並對查詢效能進行了優化,高效、靈活的快取功能,垂直搜尋功能,提供基於web的管理介面等

nutch2 3 1爬取marker流程

crawlstatus status unfetched 0x01 page was not fetched yet status fetched 0x02 page was successfully fetched status gone 0x03 page no longer exists st...

爬取搜狗搜尋頁面

功能,爬取搜狗搜尋的頁面,儲存到本地 import requests from tkinter import def func search word entry key word.get print word param param query word ua偽裝 headers url get方...

爬蟲的定向爬取與垂直搜尋

定向爬蟲是網路爬蟲的一種。定向爬蟲 定向爬蟲可以精準的獲取目標站點資訊。定向爬蟲獲取資訊,配上手工或者自動的模版進行資訊匹配,將資訊進行格式化分析儲存。優勢 基於模版的資訊提取技術,能提供更加精準的資訊。比如 房屋面積,時間,職位,公司名等等。劣勢 目標 難以大面積覆蓋,因為基於模版匹配的資訊提取技...