Operuje na bazie danych mysql i wystukałem dość prostego spidera który pobiera treść linki i takie tam z stron. Następnie zapisuje słowa kluczowe i ustalam ich silę przez ilość powtórzeń na stronach... Dodałem bazę słów i najpopularniejszych sformułowań i włączyłem spidera... Jak na razie 95460 stron. No i teraz nasuwa się pytanie czy dobrze zrobiłem sprawdzając poprawność wpisanego tekstu?

  1. <?php
  2. function podobne() {
  3. $licz = strlen($this -> slowo);
  4. if ($licz > 2) {
  5. if (substr($this -> slowo,0,7) != "http://") {
  6. $shortest = -1;
  7. $query = $this -> db_mysql -> query("SELECT * FROM {{table}} where w>1", "keywords");
  8. while($row = $this -> db_mysql -> fetch_array($query)) {
  9. $lev = levenshtein($this -> slowo, $row['name']);
  10. if ($lev == 0) {
  11. $closest = $row['name'];
  12. $shortest = 0;
  13. break;
  14. }
  15. if ($lev <= $shortest || $shortest < 0) {
  16. $closest = $row['name'];
  17. $shortest = $lev;
  18. }
  19. }
  20. }
  21. } else {
  22. $shortest = 0;
  23. }
  24. return ($shortest != 0) ? 'Czy chodziło Ci o: <a href="?q='.$closest.'">'.$closest.'</a><br>' : '<br>';
  25. }
  26. ?>


Czy może istnieje lepszy sposób wszystko jest na serwie z PHP5 i jest to część klasy szukaj....
Musze wykorzystać similar_text lub levenshtein (tyle na razie wiem)
Następnym problemem na jaki się natknąłem był brak odnośnika według którego strony miały by być układane więc zrobiłem tymczasowo tak:
Nowo zindeksowana strona o ile ma odnośnik do n strony dodaje +1 do pola link według którego ustawione są wyniki smile.gif

  1. Dobra ale zacznijmy od początku jak powinniśmy się za to zabrać:
  2. 1. Musimy się zorientować co nam będzie potrzebne (które dane z strony musimy pobrać)...
  3. 2. Powinniśmy zastosować system szablonów, jakąś klasę obsługi bazy danych, no i 2 klasy jedna wyszukującą 2 indeksującą...
  4. 3. Zaczynamy od klasy wyszukującej:
  5. ...a) Tworzymy tabelę z stronami
  6. ...B) Tworzymy funkcję do skracania tekstu
  7. ...c) Tworzymy funkcje do pogrubiania tekstu zgodnego z słowem kluczowym
  8. ...d) Dodajemy pętle wyświetlającą
  9. ...e) No i licznik stron | można jeszcze ile jest stron pod wskazanym hasłem
  10. ...f) Teraz czas na funkcję podpowiadającą gdy popełnimy błąd...


cdn...

Ma ktoś jakąś dobrą bazę słów i sformułowań do podpowiedzi?

Następnym pytaniem było jak pobrać zawartość strony:
istnieje funkcja file_get_contents lecz nie wiem dlaczego nie zawsze ona działa sad.gif

lub

  1. <?php
  2. function open($urls) {
  3. $uchwyt = fopen($urls, "rb");
  4. $tresc = stream_get_contents($uchwyt);
  5. fclose($uchwyt);
  6. }
  7. ?>