[英]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)並執行:
bin / crawl -i -D solr.server.url = http:// IP:8080 / solr / website / urls / crawl / 5
我做了一些研究,並認為手動執行這些任務是過度工作,腳本應該處理上述所有任務。
所以我的疑問是:
上述腳本不能處理整個過程嗎? 我是否仍需要刪除抓取文件夾並手動清除現有索引?
管理任務的相關性是什么 - “重新加載”和“優化”?
我可以讓cron安排抓取腳本每周運行一次,它會處理整個過程嗎?
我還能如何自動將爬網和索引定期運行?
有兩種可能的方法:
配置Nutch在一周后重新獲取所有以前爬網的頁面,請參閱屬性db.fetch.interval.default
。 保持爬網/文件夾和Solr索引不變。 Nutch將自動刪除Solr中的頁面。 EV。 您應該在每次爬網后刪除舊段( rm -rf crawl/segments/*
),以避免磁盤隨着時間的推移而填滿。
從頭開始每次抓取(只需刪除文件夾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.