簡體   English   中英

單抓取腳本抓取網站(Nutch)和索引結果(Solr)

[英]Single Crawl script to Crawl website (Nutch) and Index results (Solr)

我是Nutch和Solr的新手。 我剛接管了這些活動,現在我必須抓取並索引我的網站。

這些是我被要求遵循的步驟。

  • 刪除抓取文件夾(apache-nutch-1.10 \\ crawl)

  • 刪除現有索引:

Solr-Admin-> Skyweb-> Documents-> Document Type(xml)並執行

  • 轉到Solr-Admin - > Core Admin - >單擊'Reload'然后'Optimize'
  • 並使用以下命令運行爬網作業:

bin / crawl -i -D solr.server.url = http:// IP:8080 / solr / website / urls / crawl / 5

我做了一些研究,並認為手動執行這些任務是過度工作,腳本應該處理上述所有任務。

所以我的疑問是:

上述腳本不能處理整個過程嗎? 我是否仍需要刪除抓取文件夾並手動清除現有索引?

管理任務的相關性是什么 - “重新加載”和“優化”?

我可以讓cron安排抓取腳本每周運行一次,它會處理整個過程嗎?

我還能如何自動將爬網和索引定期運行?

有兩種可能的方法:

  1. 配置Nutch在一周后重新獲取所有以前爬網的頁面,請參閱屬性db.fetch.interval.default 保持爬網/文件夾和Solr索引不變。 Nutch將自動刪除Solr中的頁面。 EV。 您應該在每次爬網后刪除舊段( rm -rf crawl/segments/* ),以避免磁盤隨着時間的推移而填滿。

  2. 從頭開始每次抓取(只需刪除文件夾crawl/在調用bin/crawl之前。也可以從命令行刪除Solr索引,例如通過觸發: curl http://localhost:8983/solr/update --data '<delete><query>*:*</query></delete>' -H 'Content-type:text/xml; charset=utf-8' curl http://localhost:8983/solr/update --data '<commit/>' -H 'Content-type:text/xml; charset=utf-8'

將這些命令組合在一起並包含bin/crawl的調用並不困難,這可以通過cronjob調用。 當然,根據您自己的需要修改腳本bin/crawl也很容易。

奇萊克斯! 放輕松 !! 你有沒有看過Apache ManifoldCF項目? 它提供了一個干凈的界面來抓取網頁,比Nutch更好,以減輕麻煩。 它是開源的,在幾分鍾內您可以設置一個帶有所有參數的作業,並在您選擇的服務器中索引您的數據,無論是Solr,彈性搜索等。 而且,一旦設置了作業,就可以保存設置,這樣就不必間歇性地配置。 它還支持Rest API,確保您可以動態自動化作業。 谷歌一下 。 你不會后悔的。 希望有幫助:)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM