1、什麼是 nutchNutch 是一個開源的、 Java 實現的搜索引擎。它提供了我們運行自己的搜 索引擎所需的全部工具。2、研究 nutch 的原因(1) 透明度: nutch 是開放源代碼的,因此任何人都可以查看他的排序演算法是如何工作的。商業的搜索引擎排序演算法都是保密的,我們無法知道為 什麼搜...
1、什麼是 nutch
Nutch 是一個開源的、 Java 實現的搜索引擎。它提供了我們運行自己的搜 索引擎所需的全部工具。
2、研究 nutch 的原因
(1) 透明度: nutch 是開放源代碼的,因此任何人都可以查看他的排序演算法是如何工作的。商業的搜索引擎排序演算法都是保密的,我們無法知道為 什麼搜索出來的排序結果是如何算出來的。更進一步,一些搜索引擎允 許競價排名,比如百度,這樣的索引結果並不是和站點內容相關的。因 此 nutch 對學術搜索和政府類站點的搜索來說,是個好選擇,因為一 個公平的排序結果是非常重要的。
(2) 對搜索引擎的理解:我們並沒有 google 的源代碼,因此學習搜索引擎 Nutch 是個不錯的選擇。瞭解一個大型分散式的搜索引擎如何工作是一 件讓人很受益的事情。在寫 Nutch 的過程中,從學院派和工業派借鑒了 很多知識:比如, Nutch 的核心部分目前已經被重新用 Map Reduce 實 現了。 Map Reduce 是一個分散式的處理模型,最先是從 Google 實驗 室提出來的。並且 Nutch 也吸引了很多研究者,他們非常樂於嘗試新 的搜索演算法,因為對 Nutch 來說,這是非常容易實現擴展的。
(3) 擴展性:你是不是不喜歡其他的搜索引擎展現結果的方式呢?那就用 Nutch 寫你自己的搜索引擎吧。 Nutch 是非常靈活的:他可以被很好 的客戶訂製並集成到你的應用程式中,使用 Nutch 的插件機制, Nutch 可以作為一個搜索不同信息載體的搜索平臺。當然,最簡單的就是集成 Nutch 到你的站點,為你的用戶提供搜索服務。
3、nutch 的目標
nutch 致力於讓每個人能很容易, 同時花費很少就可以配置世界一流的 Web 搜索引擎. 為了完成這一巨集偉的目標, nutch 必須能夠做到:
• 每個月取幾十億網頁
• 為這些網頁維護一個索引
• 對索引文件進行每秒上千次的搜索
• 提供高質量的搜索結果
• 以最小的成本運作這將是一個巨大的挑戰。
4、nutch VS lucene
簡單的說:
Lucene 不是完整的應用程式,而是一個用於實現全文檢索的軟體庫。
Nutch 是一個應用程式,可以以 Lucene 為基礎實現搜索引擎應用。
Lucene 為 Nutch 提供了文本索引和搜索的 API。
一個常見的問題是;我應該使用 Lucene 還是 Nutch?
最簡單的回答是:如果你不需要抓取數據的話,應該使用 Lucene。常見的應用場合是:你有數據源,需要為這些數據提供一個搜索頁
面。在這種情況下,最好的方式是直接從資料庫中取出數據並用 Lucene API 建立
索引。