Acquire Content

Đây là bước đầu tiên trong quá trình hoạt động của search engine. Ở bước này, một chương trình tự động (gọi là search bot, crawler hay spider) được sử dụng để download dữ liệu thô từ nguồn dữ liệu, rồi phân tích để lấy ra nội dung. Công việc này đơn giản nếu dữ liệu thô là các file theo định dạng XML, còn nguồn dữ liệu là các directory hoặc database có cấu trúc. Nó sẽ phức tạp hơn rất nhiều nếu dữ liệu thô là phi cấu trúc và nguồn dữ liệu bị phân tán khắp mọi nơi (Lotus Domino, Microsoft Exchange, Word document, Excel spreadsheet).

Một vấn đề cần được quan tâm trong bước này là quyền truy cập nội dung. Ví dụ khi crawl một website phải tuyệt đối tuân thủ quyền riêng tư được định nghĩa trong file robots.txt, hoặc đôi khi muốn scan nội dung của các file thì phải có được quyền của “super user”. Những thông tin về hạn chế truy cập phải được đính kèm với nội dung để khi tìm kiếm thì chỉ hiển thị kết quả đối với những nội dung mà người dùng được phép thấy, và ẩn đi những kết quả mà người dùng không thể truy cập được.

Đối với nguồn dữ liệu lớn và thường xuyên thay đổi, tối ưu hóa crawler là bắt buộc để tăng mức độ hiệu quả của search engine. Crawler phải hoạt động thường trực, theo dõi các dữ liệu thô mới được tạo ra hoặc mới bị thay đổi, đưa chúng vào hàng đợi để phân tích dần dần khi hệ thống rảnh rỗi.

Có nhiều crawler mã nguồn mở (Apache Solr, Nutch, Grub, Heritrix, Apache Droids, Aperture) hỗ trợ tách nội dung từ dữ liệu thô phân tán. Chúng được thiết kế để hỗ trợ kết nối với những nguồn dữ liệu thông dụng (như website, database, CMS, hệ thống file). Đối với những nguồn dữ liệu khác mà chưa có thư viện hỗ trợ, lập trình viên phải tự viết chương trình kết nối và tách nội dung theo giao diện của nguồn dữ liệu đó.

  1. No comments yet.

  1. No trackbacks yet.