2009-07-05 45 views
5

Tôi cần phát triển công cụ tìm kiếm dọc như một phần của trang web. Dữ liệu cho công cụ tìm kiếm đến từ các trang web thuộc danh mục cụ thể. Tôi đoán cho điều này tôi cần phải có một trình thu thập thông tin thu thập dữ liệu vài (một vài trăm) trang web (trong một danh mục kinh doanh cụ thể) và trích xuất nội dung và url của sản phẩm và dịch vụ. Các loại trang khác có thể không liên quan. Hầu hết các trang web là nhỏ hoặc nhỏ (một vài trăm trang nhiều nhất). Các sản phẩm có từ 10 đến 30 thuộc tính.Phát triển trình thu thập thông tin và trình thu thập thông tin cho công cụ tìm kiếm dọc

Bất kỳ ý tưởng nào về cách viết trình thu thập và trình trích xuất như vậy. Tôi đã viết một vài trình thu thập dữ liệu và trình trích xuất nội dung bằng các thư viện ruby ​​thông thường, nhưng không phải là một công cụ tìm kiếm đầy đủ. Tôi đoán, thu thập thông tin, theo thời gian, tỉnh dậy và tải xuống các trang từ các trang web. Hành vi lịch sự thông thường như kiểm tra các quy tắc loại trừ robot sẽ được tuân theo, tất nhiên. Trong khi trình trích xuất nội dung có thể cập nhật cơ sở dữ liệu sau khi nó đọc các trang. Làm cách nào để đồng bộ hóa trình thu thập thông tin và trình trích xuất? Chúng phải được tích hợp chặt chẽ như thế nào?

+0

Các thuộc tính từ tất cả các trang web có được lưu trữ ở cùng một vị trí không? Ví dụ, bạn có 30 + cột trên một bảng cơ sở dữ liệu. – BenMaddox

Trả lời

1

Trong bối cảnh doanh nghiệp tìm kiếm mà tôi đang sử dụng để làm việc trong,

  • crawlers,

  • nhổ nội dung,

  • chỉ số công cụ tìm kiếm (và tải nội dung của bạn vào các chỉ mục này),

  • có thể truy vấn dữ liệu đó một cách hiệu quả và với phạm vi tìm kiếm rộng erators,

  • giao diện chương trình đối với tất cả các lớp,

  • tùy chọn, người dùng phải đối mặt với GUIs

là toàn bộ nội riêng biệt.

(Ví dụ, trong khi chiết xuất thông tin hữu ích từ một trang HTML VS tập tin PDF VS MS Word là khái niệm tương tự, chương trình thực tế cho những công việc này vẫn còn rất nhiều công trình theo tiến độ đối với bất kỳ giải pháp chung.)

Bạn có thể muốn xem bộ công cụ mã nguồn mở của Lucene, hiểu cách chúng phù hợp với nhau, và có thể quyết định rằng bạn nên học cách sử dụng những công cụ này (hoặc những thứ khác), hơn là phát minh lại , bánh xe phức tạp.

Tôi tin vào sách, do đó, nhờ truy vấn của bạn, tôi đã khám phá ra cuốn sách này và vừa ra lệnh cho nó. Dường như có một giải pháp khả thi cho công cụ tìm kiếm.

http://www.amazon.com/Building-Search-Applications-Lucene-LingPipe/product-reviews/0615204252/ref=cm_cr_pr_hist_5?ie=UTF8&showViewpoints=0&filterBy=addFiveStar

Chúc may mắn và cho chúng tôi biết những gì bạn tìm hiểu và tiếp cận bạn quyết định thực hiện.

3

Nutch xây dựng trên Lucene và đã triển khai trình thu thập thông tin và một số trình phân tích cú pháp tài liệu. Bạn cũng có thể hook it to Hadoop để có thể mở rộng.

Các vấn đề liên quan