tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
15
ZUGRIFFE
508
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MaxivB Tutorials.de Gastzugang
    Hi,

    kurze Frage:
    Kann man eigentlich mit PHP eine Suchmaschine, wie Programmieren? Ich habe bis jetzt nur etwas für Lokale Seiten gefunden, aber gibt es auch Tutorials für "Google-Suchmaschinen"?
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Ist das eine theoretische Frage oder möchtest du tatsächlich eine solche Suchmaschine schreiben? Denn möglich ist es zwar, PHP ist aber nicht die richtige Sprache dafür, soll die Suchmaschine effizient arbeiten.

    Suchmaschinen bestehen prinzipiell aus drei Komponenten: einem Datensammler (wird Crawler, Spider, Bot, etc. genannt), der das Web durchstöbert; einer Datenbank, in der die gesammelten Daten gespeichert werden; und schließlich einem Programm zur Auswertung der Suchanfragen.
     
    Markus Wulftange

  3. #3
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Dazu sollte man sagen das beispielsweise Google die Last auf mehrere Server verteilt usw. Wenn du es schaffst das ganze so effizient wie Google nach zu bauen bist du auf jeden Fall besser als die Jungs von Yahoo, Altavista, Fireball, Microsoft... usw usw usw

    Möglich ist es sicherlich eine Suchmaschine zu programmieren.
    Aber damit bist nicht nur der kleinste Stern am Suchmaschinenhimmel, sondern es kostet auch eine Menge Arbeit und Zeit.

    Aber warum sollte es nicht gehen?

    lg
     

  4. #4
    kalle123456 Tutorials.de Gastzugang
    Nicht zu vergessen ist, daß aus der Datenflut von den Crawler, noch eine Datenbank erstellt werden muss, die die indexe speichert- dem zu Grunde ein Algorithmus liegt, der das entscheidende an der Sache ist. Also wie gesagt wenn du die nötigen Kapazitäten hast, ist es durchaus möglich.

    Gruss
     

  5. #5
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    Zitat Zitat von Klein0r Beitrag anzeigen
    [..]sondern es kostet auch eine Menge Arbeit und Zeit.
    Nicht zu vergessen: Ein wenig Geld kostet es auch.
     

  6. #6
    Avatar von Klein0r
    Klein0r Klein0r ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Ort
    Paderborn
    Beiträge
    718
    Immer diese nebensächlichen Dinge
    Bin davon ausgegangen das Geld keine Rolle spielt

    lg
     

  7. #7
    MaxivB Tutorials.de Gastzugang
    Achso !
    Wollte es ja nur mal wissen. Dann bleib ich mal lieber mal bei meiner kleinen, lokalen Suchmaschine.

    Edit: Das war nur eine theoretische Frage!
     

  8. #8
    MaxivB Tutorials.de Gastzugang
    Dann habe ich aber noch eine Frage:
    Ich will dass in PHP-Codes nur die echo()'s (und print()'s) durchsucht werden. Ich versuche das so:
    PHP-Code:
    $content preg_replace("=<\?.*echo(.*).*?>=s""\\1"$content); 
    Klappt nicht , wenn ich z.B das Suchwort "test" eingebe zeigt er auch "mail($row['email'], "Eine Test-Email!", $text, "From: test@domain.tld ");" an.
    (ich kenne mich in preg_replace() nicht so gut aus und de.php.net hilft mir auch nicht weiter)

    Was muss ich verändern, damit es klappt und wie baue ich da noch die print()'s ein?
     

  9. #9
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Mh versuch lieber deine Inhalte in eine Datenbank auszulagern und such darin denn eine PHP nach Inhalten zu durchsuchen ist zu performanceaufwendig
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  10. #10
    Avatar von mr_floppy
    mr_floppy mr_floppy ist offline Mitglied Silber
    Registriert seit
    Apr 2008
    Beiträge
    83
    Möglich ist es, gibt es sogar schon. http://www.sphider.eu/
     
    MfG

  11. #11
    MaxivB Tutorials.de Gastzugang
    Das mit dem preg_replace() hat sich erledigt und ich wollte eigentlich keine Suche mit MySQL machen, aber wie bau ich das jetzt eine blätterfunktion ein (ich habe noch keine ohne MySQL gefunden). Hat jemand eine Idee oder ein Tutorial?
    Geändert von MaxivB (06.10.08 um 15:37 Uhr)
     

  12. #12
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Ja ein Tutorial gibt es bereits.
    Benutz dazu doch bitte die interne Suchfunktion
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  13. #13
    MaxivB Tutorials.de Gastzugang
    Das Tutorial von Gumbo klappt, aber das ist ja im prinzip das gleiche (nur ohne ...) wie das:
    PHP-Code:
    $zeilen 22;
    $pro_seite 5;
    $seiten ceil($zeilen/$pro_seite);
     
        for(
    $i=1;$i<=$seiten;$i++) {
            echo 
    "<a href=\"?page="$i ."\">"$i ."</a> ";
        } 
    Ich brauch ja was, dass wenn man auf 1 klickt dann das kommt (wenn z.B. nach Suchwort gesucht wurde):
    1. Das Suchwort
    2. Das zweite Suchwort
    3. Ein anderes Suchwort
    4. Dies soll ein Suchwort sein
    5. Hier kann man Suchwörter eingeben

    Bei 2 dann:
    6. ...Suchwort...
    7. ...Suchwort...
    8. ...
    9. ...
    10. ...

    Usw.
     

  14. #14
    Gunah Gunah ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    371
    zum Thema Suchmaschine und PHP guck dir mal:
    "Lucene Search Engine" an!

    oder nutz den Google REST Api...


    Gruß
    Gunah
     
    Meine Private Homepage: www.gunah.eu

  15. #15
    MaxivB Tutorials.de Gastzugang
    Ich mag ja nur eine Blätterfunktion einbauen (Der Ausgabe-Teil der Suche):
    PHP-Code:
    //...
        
    $count=0;
        if(
    $files && $search){
            foreach(
    $files as $f){
                if(
    SearchFile($f,$search)){
                    
    $fn=$f;
                    if(
    substr($f,0,strlen($RootDir))==$RootDir$fn=$DomainName.substr($f,strlen($RootDir));
                    
    $count++;
                    echo 
    "<font face=\"".$font_face."\" size=\"".$count_font_size."\" color=\"".$font_color."\"><strong>".$ResultCount.".</strong></font> ";
                    echo 
    "<a href=\"".$fn."\"><b>".$Site_Title."</b></a><br />\n";
                    echo 
    "<font face=\"".$font_face."\" size=\"".$font_size."\" color=\"".$font_color."\">";
                    if(
    $Meta_Description) echo $Meta_Description."<br />\n";
                    echo 
    $Site_Content."</font><br />\n";
                    echo 
    "<font face=\"".$font_face."\" size=\"".$font_size."\" color=\"".$url_font_color."\">".$fn;
                    echo 
    " - ";
                    echo 
    round(filesize($f)/1024,2)." kB</font>";
                    echo 
    "<br />";
                    echo 
    "<br />\n\n";
                    }
                }
            
    clearstatcache();
            }
    //... 
    Und Blättern:
    PHP-Code:
    $entries_per_page 10;
    if (isset(
    $_GET['page'])) {
        
    $page $_GET['page'];
        }
    else {
        
    $page 1;
        }
    $pages ceil($count/$entries_per_page);
    if (
    $pages 1) {
        echo 
    "Seiten :<br />\n";
        for(
    $i=1;$i<=$pages;$i++) {
            if (
    $i != 1) {
                
    $space "|";
                }
            else {
                
    $space "";
                }
            if (
    $i == $page) {
                echo 
    "<font face=\"".$font_face."\" size=\"".$font_size."\" color=\"".$font_color."\">".$space.$i."</font>";
                }
            else {
                echo 
    "<a href=\"?search=".$_GET['search']."&page=".$i."\">".$space.$i."</a> ";
                }
            }
        } 
    Wie soll ich das jetzt, wie in #13, machen?
    Geändert von MaxivB (07.10.08 um 13:13 Uhr) Grund: Codefehler
     

Ähnliche Themen

  1. Suchmaschine ?
    Von Nohh im Forum Delphi, Kylix, Pascal
    Antworten: 3
    Letzter Beitrag: 09.10.06, 03:44
  2. PHP-Suchmaschine
    Von Despairing im Forum PHP
    Antworten: 1
    Letzter Beitrag: 10.06.06, 10:00
  3. Suchmaschine: <p> ver. <div>
    Von online im Forum HTML & XHTML
    Antworten: 12
    Letzter Beitrag: 05.02.05, 20:29
  4. PHP-Suchmaschine
    Von Experience1986 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 17.02.03, 20:18
  5. Suchmaschine
    Von Daniel im Forum Sonstige Sprachen
    Antworten: 5
    Letzter Beitrag: 29.11.00, 00:21