2009-07-05 18 views
5

Potrzebuję opracować pionową wyszukiwarkę jako część strony internetowej. Dane do wyszukiwarki pochodzą z witryn o określonej kategorii. W tym celu potrzebuję mieć robot indeksujący, który przeszukuje kilka (kilkaset) witryn (w określonej kategorii biznesowej) i wyodrębnia treść oraz adresy URL produktów i usług. Inne typy stron mogą być nieistotne. Większość stron jest mała lub mała (najwyżej kilkaset stron). Produkty mają od 10 do 30 atrybutów.Wykonywanie robota i skrobaka do wyszukiwania w pionie

Wszelkie pomysły, jak napisać taki robot i wyciąg. Napisałem kilka robotów indeksujących i ekstraktorów przy użyciu zwykłych bibliotek ruby, ale nie w pełni rozwiniętą wyszukiwarkę. Domyślam się, że robot od czasu do czasu budzi się i pobiera strony ze stron internetowych. Zwykle zachowa się uprzejme zachowanie, takie jak sprawdzanie reguł wykluczania robotów. Podczas gdy ekstraktor treści może aktualizować bazę danych po przeczytaniu stron. Jak zsynchronizować przeszukiwacz i ekstraktor? Jak mocno powinny być zintegrowane?

+0

Czy atrybuty ze wszystkich witryn będą przechowywane w tej samej lokalizacji? Na przykład masz ponad 30 kolumn w tabeli bazy danych. – BenMaddox

Odpowiedz

1

W kontekście korporacyjnej wyszukiwarce, że jestem przyzwyczajony do pracy w,

  • roboty,

  • odciągi treści,

  • indeksuje wyszukiwarek (i ładowanie treści w tych indeksach),

  • możliwość efektywnego wysyłania zapytań do danych z szerokim zakresem wyszukiwania erators,

  • interfejsów programowych dla wszystkich tych warstw,

  • ewentualnie od strony użytkownika GUI

są oddzielne tematy.

(Na przykład, podczas wydobywania przydatnych informacji ze strony HTML VS pliki PDF VS MS Word są podobne pod względem koncepcyjnym, rzeczywista programowania dla tych zadań są nadal bardzo dużo roboty w toku dla dowolnego rozwiązania ogólnego.)

Możesz chcieć spojrzeć na zestaw narzędzi open-source Lucene, zrozumieć, jak się do siebie pasują i ewentualnie zdecydować, że lepiej byłoby nauczyć się korzystać z tych narzędzi (lub innych, podobnych), niż wymyślić na nowo , skomplikuj koło.

Wierzę w książki, więc dzięki twojemu zapytaniu odkryłem tę książkę i właśnie ją zamówiłem. Wygląda na to, że warto wziąć pod uwagę jedno możliwe rozwiązanie conumdrum wyszukiwania.

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

Powodzenia i daj nam znać, co można znaleźć na zewnątrz i podejście zdecydujesz się podjąć.

3

Nutch opiera się na Lucene i już implementuje przeszukiwacz oraz kilka analizatorów dokumentów. Można również uzyskać skalowalność za pomocą hook it to Hadoop.