Jak stworzyć wyszukiwarkę w PHP i MySQL

Dlaczego w ogóle miałbyś chcieć stworzyć wyszukiwarkę? Istnieje już wyszukiwarka, która rządzi nimi wszystkimi. Za pomocą Google możesz znaleźć w Internecie niemal wszystko i wątpię, czy kiedykolwiek będziesz mieć takie same możliwości przetwarzania i przechowywania danych jak duży G.

Po co więc tworzyć własną wyszukiwarkę? — Oczywiście, żeby zarobić!

…i zyskać sławę jako twórca kolejnej dużej wyszukiwarki lub dlatego, że jako programista lub inżynier lubisz wyzwania. Tworzenie wyszukiwarki dla publicznego Internetu jest trudne i podobnie jak ja lubisz rozwiązywać trudne problemy.

Trzecia aplikacja to dostosowane do indywidualnych potrzeb, szybkie wyszukiwanie witryn obejmujących tysiące stron internetowych. Indeksowana wyszukiwarka będzie znacznie szybsza niż funkcja wyszukiwania pełnotekstowego, a jeśli wyszukiwarka Google nie jest wystarczająco elastyczna dla Twojej witryny, możesz stworzyć własną funkcję wyszukiwania.

PODSTAWY WYSZUKIWANIA

Podstawą każdej DUŻEJ wyszukiwarki jest indeks słów do stron internetowych, w zasadzie długa lista słów i ich powiązanie z różnymi stronami internetowymi.

Aby stworzyć wyszukiwarkę, musisz zrobić cztery rzeczy:

* Zdecyduj, które strony pobrać i pobierz je
* Przeanalizuj słowa, wyrażenia i linki ze stronygoogle-custom-se
* Przypisz wynik każdemu słowu kluczowemu lub frazie kluczowej, wskazując, jak dobrze dana fraza odnosi się do tych stron i przechowuj wyniki w indeksie wyszukiwarki
* Zapewnij użytkownikom możliwość wysyłania zapytań do indeksu i uzyskiwania listy pasujących stron internetowych

Dla doświadczonego programisty nie jest to trudne. Można to zrobić w jeden dzień, jeśli znasz wyrażenia regularne i masz pewne doświadczenie z HTML i bazami danych.

Teraz masz działającą wyszukiwarkę, wystarczy dodać wiele komputerów i dysków twardych, a wkrótce zaindeksujesz cały Internet. Jeśli nie jesteś gotowy posunąć się tak daleko, dysk o pojemności jednego terabajta pomieści indeks około 50 milionów stron.

JAK PUNKTOWAĆ STRONY

Po ukończeniu podstawowych funkcji wyszukiwania czeka Cię dużo pracy, zanim ktokolwiek będzie chciał korzystać z Twojej nowej maszyny. Indeks nie wystarczy. Wyzwaniem jest to, jak oceniać strony, aby zapewnić użytkownikowi końcowemu wyniki wyszukiwania, które są najbardziej odpowiednie dla jego wyobrażenia o tym, czego szuka.

Musisz zdecydować, jaką wagę przyłożyć do słów kluczowych w tagu kafelka, opisie i zawartości głównej strony internetowej. Aby uzyskać dobry wynik, będziesz także chciał zwiększyć liczbę słów kluczowych znajdujących się w adresie URL strony i sprawdzić tekst zakotwiczenia linków przychodzących. Śledzenie linków przychodzących jest najbardziej użyteczną i najtrudniejszą z powyższych czynności. Musisz prowadzić osobną tabelę w bazie danych zawierającą informacje o wszystkich linkach pomiędzy indeksowanymi stronami.

CO INDEKSOWAĆ, A NIE INDEKSOWAĆ

Inne przeszkody, które napotkasz, gdy zaczniesz indeksować prawdziwą zawartość internetową, to fakt, że wszędzie krążą ogromne ilości bezużytecznych śmieci, w wyniku czego Twój indeks w końcu zapełni się spamem, stronami stowarzyszonymi, zaparkowanymi domenami, stronami w toku bez treści, linkami farmy wykorzystywane przez optymalizatory wyszukiwarek, witryny lustrzane wykorzystujące źródła danych do tworzenia tysięcy stron z listami produktów lub inną powielaną treścią itp. itp.

Podczas indeksowania z Internetu będziesz musiał znaleźć sposób na odfiltrowanie niepotrzebnych treści od tego, co ludzie faktycznie czytają i szukają. Na początek możesz ograniczyć głębokość indeksowania podkatalogów, liczbę przeskoków linków ze strony indeksu domeny i liczbę dozwolonych linków na stronę internetową.

PARSOWANIE STRON INTERNETOWYCH

Jest milion sposobów, zarówno dobrych, jak i złych, na pisanie kodu HTML, a indeksując z Internetu, będziesz musiał poradzić sobie z każdym z nich.

Analizując słowa kluczowe ze stron, trzeba uwzględnić nie tylko cały standard HTML, ale także wszystkie niestandardowe sposoby, które są nieoficjalnie obsługiwane przez przeglądarki internetowe.

Aby móc odczytać wszystkie strony, musisz także przeanalizować JavaScript po stronie klienta, obsługiwać ramki, CSS i ramki iframe.
To duża część pracy nad ogólną wyszukiwarką, aby móc czytać wszelkiego rodzaju treści.

DLACZEGO TAK WIELE adresów URL?

Na koniec będziesz musiał uporać się z faktem, że wiele witryn internetowych ma wiele adresów URL prowadzących do tej samej strony internetowej. Spójrz tylko na ten przykład:

dmoz.org
www.dmoz.org
dmoz.org/index.html
www.dmoz.org/index.html

Wszystkie te adresy URL prowadzą do tej samej strony internetowej. Jeśli nie utworzysz specjalnego kodu, który by to obsługiwał, wkrótce w Twojej wyszukiwarce pojawią się 4 wyniki (po jednym dla każdego adresu URL), wszystkie prowadzące na tę samą stronę. Użytkownicy nie będą Cię lubić.
Istnieje również możliwość ciągów zapytań, w przypadku których identyfikator sesji po znaku zapytania w adresie URL spowoduje utworzenie prawie nieskończonych adresów URL dla tej samej strony internetowej.

google.com?SID=4434324325325
google.com?SID=4387483748377
google.com?SID=7654565644466

Dla wyszukiwarki będzie naprawdę duża liczba stron zawierających tę samą treść. Rozwiązaniem jest oczywiście nieindeksowanie stron zawierających ciąg zapytania. Lub usunąć ciąg zapytania ze stron. To działa, ale spowoduje również usunięcie wielu legalnych treści (np. forów) z Twojego indeksu.

Masz teraz wszystkie informacje potrzebne do stworzenia wyszukiwarki witryn. Jeśli wybierasz ogólną wyszukiwarkę internetową, musisz podać o wiele więcej szczegółów. Podobnie jak plik robots.txt, mapy witryn, przekierowania, proksies, rozpoznawanie typów treści, zaawansowane algorytmy rankingowe oraz obsługa terabajtów danych. Więcej szczegółów opiszę w przyszłym artykule. Powodzenia przy kolejnym projekcie dotyczącym wyszukiwarki!

Kategorieblog
  1. Pingback:Tweety wspominające TopTut.com – najlepsze tutoriale » Jak stworzyć wyszukiwarkę w PHP i MySQL -- Topsy.com

  2. Pingback:TopTut.com – Najlepsze tutoriale » Jak zrobić wyszukiwarkę w PHP… | Promocja w wyszukiwarkach online

Możliwość dodawania komentarzy nie jest dostępna.