Your SlideShare is downloading. ×

Nutch

409

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
409
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Company LOGONUTCHTrình thu thập thông tin (crawler)
  • 2. 05/12/132Q&ALOGOĐịnh nghĩa Nutch là một search engine mã nguồn mởcài đặt trên ngôn ngữ lập trình Java.Nutch cung cấp tất cả các công cụ cầnthiết để cho phép ta tạo ra một searchengine (SE) của riêng mình. Nutch được xây dựng trên nền tảnglưu trữ và tính toán phân tán, do vậyNutch có thể được mở rộng để hoạtđộng trên các tập dữ liệu lớn.
  • 3. 05/12/133Q&ALOGO Nền tảng phát triển củaNutch Lucene: b th vi n ngu n m có ch cộ ư ệ ồ ở ứnăng xây d ng ch m c và tìm ki m.ự ỉ ụ ế Hadoop: cung c p m t n n t ng tính toánấ ộ ề ảphân tán v i m t h th ng t p tin phân tán.ớ ộ ệ ố ậ Tika: m t b công c dùng đ phát hi n và rútộ ộ ụ ể ệtrích các metadata và nh ng n i dung văn b nữ ộ ảcó c u trúc t nh ng lo i tài li u khác nhau.ấ ừ ữ ạ ệNutch s d ng Tika đ phân tách các lo i tàiử ụ ể ạli u khác nhau nh m s d ng cho quá trìnhệ ằ ử ụt o ch m c.ạ ỉ ụ
  • 4. 05/12/134Q&ALOGOTính năng của Nutch Hỗ trợ nhiều protocol khác nhau nhưhttp, ftp, file. Hỗ trợ các loại tài liệu khác nhau nhưPlain text, HTML, XML, JavaScript,... Chạy trên hệ thống phân tán: do dựatrên nền tảng Hadoop nên Nutch cókhả năng mở rộng. Linh hoạt với các plugin: phát triểnhay mở rộng tính năng của Nutch.
  • 5. 05/12/135Q&ALOGOKiến trúc Nutch
  • 6. 05/12/136Q&ALOGOKiến trúc của Nutch Nutch bao gồm hai thành phần làtrình thu thập thông tin (Crawler) vàtrình tìm kiếm thông tin (Searcher). Crawler: lấy dữ liệu từ các trang vàtạo ra bộ chỉ mục ngược (invertedindex). Searcher sử dụng inverted index đểtrả lời câu truy vấn query.
  • 7. 05/12/137Q&ALOGOThe Crawler Trình thu thập thông tincrawler baogồm bốn thành phần là Cơ sở dữ liệu web hay viết tắt là webdb Các phân đoạn (segments). Bộ chỉ mục index Công cụ thu thập thông tin crawl tool
  • 8. 05/12/138Q&ALOGOWeb Database (WebDB) Cấu trúc dữ liệu lưu trữ lâu dài (persistent) đểphản ánh cấu trúc và tính chất của đồ thị web màđã thu thập được. Chỉ được sử dụng bởi crawler và không có vai trògì trong quá trình tìm kiếm searching. Lưu trữ hai kiểu thực thể:Pages: trang trên webLinks: tập các liên kết từ một trang đến mộttrang khác Trong đồ thị webDB, nodes là các trang pages vàcạnh là các liên kết links.
  • 9. 05/12/139Q&ALOGOSegments Segments: tập các trang đượccrawler tìm và đánh chỉ mục trongmột lần thực thi. Giới hạn thời gian tồn tại (được đặt têntheo ngày và thời gian tạo ra). Fetchlist hay tập các trang tìm thấycho một segment là một tập các URLđể crawler tìm.
  • 10. 05/12/1310Q&ALOGOIndex Nutch sử dụng Lucene để đánh chỉmục Là chỉ số đảo ngược (inverted index)của tất cả các trang mà hệ thống đãtruy xuất. Mỗi segment có sáu chỉ mục Inverted index được tạo ra bằng cáchtrộn tất cả các chỉ số của segment
  • 11. 05/12/1311Q&ALOGOchu kỳgenerate/fetch/update Thu thập thông tin là một chu trình xửlí (cyclical process):GenerateFetchParseUpdate
  • 12. 05/12/1312Q&ALOGO chu kỳgenerate/fetch/update  Generate: một danh sách các URL sẽ được phát sinh ra đểdùng trong quá trình nạp. Các URL được chọn là các URLtrong webdb có tình trạng là “chưa nạp” hoặc “đã lỗi thời”.Số lượng URL được phát sinh ra trong danh sách có thể bịgiới hạn lại theo ý muốn Fetch:một trình tự động (fetcher) tự động tải các tài liệu từdanh sách URL được phát sinh ra từ bước generate Parse: dữ liệu nhị phân có được từ giai đoạn nạp sẽ đượcphân tách ra để trích lấy các thông tin như các link,metadata và các thông tin văn bản khác để dùng cho việctạo inverted index sau này. Update: trạng thái của mỗi URL được nạp cũng như danhsách các URL mới có được từ quá trình parse đều sẽ đượctrộn vào phiên bản trước của crawldb để tạo ra một phiênbản mới

×