Brian
Hancock
- Podstawy
mechanizmów wyszukujących
Artykuł z serwisu IBM DeveloperWorks
(tłum. Michał 'Podles' Podlewski)
Ostatnie
badania pokazują, że katalogowanie zasobów Internetu staje się zadaniem
trudniejszym, niż serwisy takie jak Yahoo! chciałyby abyś sądził. Wydobycie
oczekiwanych wyników tematycznego wyszukiwania może być trudne. Brian
Hancock ogląda mechanizmy przeszukujące w Linuxie, między innymi dwa
bazujące na Open Source i wyjania, co mogą one zrobić aby pomóc Ci w
znalezieniu tego, czego szukasz.
Internet
udowodnił już, że jest szerokim, ale nieposłusznym zasobem. Studenci
cieszą się mogąc przychodząc do biblioteki korzystać z ogólnych wyszukiwarek
takich jak AltaVista czy katalogów takich jak Yahoo żeby przeprowadzać
swoje poszukiwania w Sieci, ale często generowane przez nie wyniki są
ogólnikowe i pochodzące z niepewnych źródeł. Co gorsza, ostatnie badania
wykazują, że główne wyszukiwarki indeksują jedynie częć Internetu, chociać
Excite ogłasza, że niedawno wprowadził wyszukiwarkę, która ma zindeskować
wszystkie strony w Sieci. Aby pomóc użytkownikom w ich sieciowych poszukiwaniach
zaczęto wprowadzać tematyczne wyszukiwarki i katalogi o ograniczonym
zasięgu terytorialnym. Jedne z najlepszych w tej kategorii są Wolnym
Oprogramowaniem (Open Source), chociaż nie jest to regułą.
Wyszukiwarki tematyczne są dobrym narzędziem aby skoncentrować wyszukiwanie
w obrębie konkretnej dyscypliny oraz konkretnego obszaru geograficznego.
Takie parametry naturalnie definiują wyszukiwanie i pomagają użytkownikom
zdobyć szybko odpowiadające wyniki. Aby pomóc w osiągnięciu tego, wyszukiwarki
te są połączone z szeroką gamą zautomatyzowanego oprogramowania.
Ten artykuł
skoncentruje się na dwóch mechanizmach wyszukiwawczych z rodziny Open-Source,
"Harvest" (Żniwa) oraz ROADS i bedzie się odnosił do dwóch
wyszukiwarek - Altavista oraz Infoseek, które zostały przeniesione na
platforme Linuxową.
Co
to jest mechanizm wyszukujący?
Odnosząc
się do Internetu, zarówno wyszukiwarki jak i katalogi stron zostały
razem ochrzczone mianem "wyszukiwarek". Różnica polega na
metodzie, za pomocą której informacje są gromadzone i łączone. Harvest,
AltaVista i Infoseek wysyłają "robota" czy też "pająka"
aby zbierał informacje z Internetu, które później są automatycznie indeksowane
na lokalnym serwerze. [Jest to odwórcony spis informacji wyciągniętych
z dowolnego sposobu kodowania, takiego jak na przykład HTML.] Mechanizm
wyszukujący jest w rzeczywistoci jedynie końcówka (front-end), która
wydobywa informacjie juz zebrane i skatalogowane. Aby utrzymać aktualnoć
tych danych, "roboty" odwiedzają daną stronę wielokrotnie,
aby zbierać nowe pojawiające się na niej informacje. Proces ten może
się odbywać co dowolną iloć czasu ustaloną przez administratora. Na
przykład "scooter" AltaVisty odwiedza daną stronę co 28 dni,
a Index Antiquus - używający Harvest'a - jest odwierzany co 2 miesiące.
Różnica polega na tym, że Altavista chce być na bierząco z dużą liczbą
często zmieniających się stron, a Index Antiquus odwiedza względnie
niewielką liczbę statycznych i głównie tekstowych stron, wybieranych
przez operatora, tak więc parametry zbioru są różne.
Katalogi
takie jak Yahoo! i ROADS ("the Resource Organization and Discovery
in Subject-based Services" czyli "organizowanie i odkrywanie
zasobów w serwisach baz tematycznych") polegają na ludziach podczas
zbierania informacji i umieszczania ich w odpowiedznich katalogach.
Następnie końcówka szukająca wyrzuca rezultaty.
Zależnie
od tego, czego oczekujesz od mechanizmu wyszukujacego, powiniene rozważyć
pewne cechy:
Mechanizmy
wyszukujące
Harvest
("Harvest Information Discovery and Access System" czyli System
odkrywania i dostępu do informacji)
Harvest jest zintegrowanym zestawem narzędzi do gromadzenia, ekstrakcji,
organizowania, przeszukiwania, "cache'owania" i replikowania
informacji w Internecie. Początkowo został stworzony na Uniwersytecie
w Kolorado przez IRTF-RD (Internet Task Force Group on Resource Discovery)
i jest utrzymywany przez grupę ochotników z Uiwersytetu w Edynburgu.
Jest
on używany do gromadzenia informacji z wybranych stron, więc użytkownik
dostaje informacje odpowiadającą poszukiwanemu tematowi. Na przykład
Index Antiquus (tematyczna wyszukiwarka materiałów związanych z kulturą
klasyczną i redniowieczną) na pytanie o Horacego zwróci wyniki powiązane
z rzymskim poetą. Użytkownicy wyszukiwarek tematycznych mają pewnoć,
że zwrócone informacje będą odpowiednie i precyzyjne.
Harvest
składa się z dwóch podstawowych podsystemów: "zdobywacza"
i "wydawacza". Zdobywacz zbiera informacje ze stron wybranych
przez człowieka (w wypadku Index Antiquusa - osobą tą jest bibliotekarz).
Proces ten jest ocenianiem stron używając pewnych kryteriów takich jak
odpowiednioć, aktualnoć, organizacja itp. Do listy tej trzeba też dodać
stabilnoć. Chociaż robot (lub tester linków) pomaga utrzymać linki tylko
do aktywnych stron, niedobrze jest kiedy baza danych zmienia się diametralnie
za każdym razem kiedy jest odnawiana.
Kiedy
informacja jest zwracana do lokalnego serwera, jest ona podsumowywana
i indeksowana (tzn. jest pozbawiana wszelkiego kodu HTML, a baza danych
jest tworzona i indeksowana). Zdobywacz nie uaktualnia bazy danych samodzielnie,
odbywa się to za pomocą komendy cron, która ponownie wysyła zdobywacza.
Może się to odbywać w okrelonym czasie, np. co miesiąc, wczenie z rana
(żeby nie obciążać Sieci). "Wydawacz" jest po prostu mechanizmem
łączącym się z bazą danych i zwracającym wyniki - innymi słowy jest
mechanizmem wyszukującym. Domylnym mechanizmem wyszukującym dla Harvest'a
jest 'glimpse', ale jeli chcesz, możesz użyć 'WAIS' lub 'Swish'. Ze
względu na to, że Harvest jest rozprowadzany na zasadach OpenSource,
możesz go ciągnąć i skompilowac na dowolnym UNIX'ie. Ostatnia wersja
to 1.5.20 i jest dostępna ze strony Harvest'a jako archiwum tar.gz
ROADS
System katalogowy ROADS, rozwijany przez Loughborough University of
Technology i ufundowany przez Access to Networked Resources section
of the UK Electronic Libraries Programme (eLib), daje dostęp do bazy
danych rekordów powiązanych z danym tematem. Użytkownik może przeglądać
i przeszukiwać bazę danych. W przeciwieństwie do Harvesta system ten
nie używa robotów do przeszukiwania Internetu, ale bazuje na wpisach
dokonanych przez użytkownika. Jednakże ma testera linków informującego
administratora o zmienionych lub nieaktywnych odnonikach.
ROADS
jest zbiorem narzędzi pomagających skatalogować zasoby Internetu. Przypomina
on Yahoo! w którym ludzie są niezbędni do wpisywania nowych rekordów
do bazy i uaktualnianiu błędnych linków. Dostarcza szablonów do opisywania
poszczególnych zasobów takich jak obrazy, dźwięki, dokumnety, usługi
i FAQ'i. Jest konfigurowalny i został rozwinięty z "zestawu narzędzi"
więc jeli potrzebujesz, możesz użyć tylko poszczególnych modułów.
Program
został napisany w Perl'u i uruchomi się na prawie każdym UNIX'ie. Jest
dostępny jako tar.Z lub i386.rpm ze strony internetowej ROADS.
AltaVista
SDK (Search Developer's Kit) AltaVisty pozwala programistom na dodawanie
nowych funkcji do istniejących baz danych lub tworzenia nowych aplikacji.
FBI używa go z bazą Oracle do przeszukiwania bazy 250 mln wpisów, co
znacznie przekracza możliwości zwykłego użytkownika Linuxa, ale skoro
DB2 i Oracle zostały przystosowane do Linuxa, jest to więc możliwe.
SDK zawiera
wszystkie narzędzia których będziesz potrzebować do stworzenia zbiorów
ustrukturalizowanych (skłądających się z rekordów o konkrentej budowie)
lub nieustrukturalizowanych (np. bazy tekstów). Oprogramowanie to zawiera
także API (application programming interface) aby ułatwić dostęp i manipulacje
danymi. Dokumentacja i przykłądy są dołączone do pakietu, którego testową
wersje można ciągnąć jako plik tar.Z
InfoSeek
InfoSeek stworzył swój własny Serwer Ultraseek, którego wersja linuxowa
jest dostępna do testowania. Sprawdzilimy ją na RH6.0 i słyszelimy od
InfoSeek'a, że działa też na SuSE6.1. Jest łatwa w instalacji, ale trzeba
pamiętać o wyznaczeniu katalogu z danymi (inaczej zwraca komunikaty
o błędach).
Ultraseek
automatycznie wysyła swojego robota do wybranych stron i tworzy spis.
Interfejs do wyszukiwarki jest konfigurowalny i akceptuje zapytania
w języku naturalnym. Bazą danych (po jej stworzeniu) można zarządzać
za porednictwem przeglądarki. Dokumentacja zawiera opis instalacji,
administracji i dostosowywania. Wersja próbna dla Linuxa jest dostępna
jako i386.rpm
Zależnie
od twoich potrzeb na mozliwości wyszukiwawcze w Internecie lub Intranecie,
powyższe propozycje zapewniają Ci wybór. Wyszukiwarki tematyczne i obszarowe
udowodniły swoja przydatnoc jako dodatki do stron WWW. Linux zapewnia
stabilną platformę i bez wątpliwości coraz więcej firm przeniesie na
niego swoje platformy wyszukiwawcze, udostępniając kod (tak jak zrobił
to Netscape).
Zasoby
w sieci:
Wykluczanie robotów: http://info.webcrawler.com/mak/projects/robots/norobots.html
Harvest Web Indexing: http://www.tardis.ed.ac.uk/harvest/
ROADS: http://www.roads.lut.ac.uk/
AltaVista SDK: http://k2.altavista-software.com/sdk_intro.htm
UltraSeek: http://software.infoseek.com/products/ultraseek