![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Może nie jest to zadanie dla php - ale czemu nie;)
Jak napisali byscie wyszukiwarke na ok 20mln stron?? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 30.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie pisanie robotów jest sprawą dużo trudniejszą niż się wydaje i php się do tego nie nadaje z 2 powodów:
1) przechowywanie indeksów - zwykła baza danych takiego zadania się nie ima - jeśli taka metoda przechowywania danych zostanie zastosowana, to nie będzie to tak wydajne, ani skalowalne jak rozwiązanie autorskie; z reguły buduje się specjalne indeksy słów na jakiś drzewach binarnych itp. - jak nie trudno zgadnąć w php napisanie czegoś takiego jest - jeśli nawet możliwe - mało sensowne 2) język polski - zagadnienie normalizacji (czyli sprowadzanie słów do form pierwotnych - bezokolicznika dla czasowników czy mianownika l.p. dla rzeczowników); realizują to specjalne algorytmy działające z reguły na indeksach wszystkich słów języka polskiego we wszystkich formach i próbujące wyznaczyć odopowiednie znaczenie z kontekstu gramatycznego; przykładem takiego podejścia do tego zadania jest NetSprint; w każdym razie ta złożoność obliczeniowa też nie jest dla php W reszcie - jak ktoś już wcześniej zauważył wyszukiwarka najpierw buduje indeks (co w przypadku 2 mln. stron może potrwać bardzo długo) a dopiero potem z niego korzysta. Jeśli kogoś interesuje dobra wyszukiwarka OpenSource w ogóle, to jest nią bez wątpienia Lucene (http://jakarta.apache.org/lucene/docs/index.html), ale jest napisana w Javie i niestety nie obsługuje normalizacji dla języka polskiego - z resztą generalnie polskie algorytmy normalizacji nie są dostępne w bezpłatnych implementacjach. Nie polecam w każdym razie pisania wyszukiwarki bez odpowiedniej wiedzy, a już na pewno nie w php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 07:15 |