Stefan: Suchmaschine mit 4000 Dateien

Hallo miteinander,
ich habe eine Suchmaschine installiert, die rel. schnell 500 Dateien durchsucht. Bei 4000 Dateien jedoch, braucht sie bis zu 8 sec.
Das ist mir zu lang.
Frage: kann man auch in Perl das schneller programmieren, oder muß man da bei 4000 Dateien z.B. auf PHP3 oder PHP4 umsteigen?

Vielen Dank im voraus
Stefan

PS. Sollte das in Perl möglich sein, bitte ich um einen Tip vielleicht um eine schon fertig programmierte...

  1. Morgen Stefan,

    ich habe eine Suchmaschine installiert, die rel. schnell 500 Dateien
    durchsucht. Bei 4000 Dateien jedoch, braucht sie bis zu 8 sec.
    Das ist mir zu lang.

    Mal eine Verstaendnis Frage. Um was geht es hier?

    a) [ ] Das dursuchen des Indexes, nach dem Stichwort und die Ausgabe.

    b) [ ] Das Indizieren von Dateien. Dateien oeffen, Stichwoerter
      raussuchen und in einem Index schreiben. (Wobei mir hier 8 Sec sehr
      gut erscheint.)

    gruesse
      jens mueller

    1. Sorry, Ihr habt Recht.
      Die Dateien sind im Schnitt 2 Kb groß und sind normale HTML - Dateien. Sie enthalten ca. 2 bis 5 Adressen von Personen.
      Gesucht werden kann nach Namen oder PLZ, das Programm durchsucht aber immer die ganze HTML-Datei.

      Ich vermute mal, dass keine extra Index-Datei zwecks Datenbank angelegt wird.
      Wenn man die Suche beschränken würde nur auf den <Title>PLZ Aufzählung meist 3er Orte</Title> müßte es eigentlich wesentlich schneller gehen, oder?
      Leider weiss ich aber nicht, welche Änderungen vorgenommen werden müssten...

      Das Skript ist von:
      Markus Wolf, 1998
      suche.cgi
      URL  : http://www.perl-archiv.de

      Morgen Stefan,

      ich habe eine Suchmaschine installiert, die rel. schnell 500 Dateien
      durchsucht. Bei 4000 Dateien jedoch, braucht sie bis zu 8 sec.
      Das ist mir zu lang.

      Mal eine Verstaendnis Frage. Um was geht es hier?

      a) [ ] Das dursuchen des Indexes, nach dem Stichwort und die Ausgabe.

      b) [ ] Das Indizieren von Dateien. Dateien oeffen, Stichwoerter
        raussuchen und in einem Index schreiben. (Wobei mir hier 8 Sec sehr
        gut erscheint.)

      gruesse
        jens mueller

  2. Hi!

    Frage: kann man auch in Perl das schneller programmieren, oder muß man da bei 4000 Dateien z.B. auf PHP3 oder PHP4 umsteigen?

    Deine Frage ist ungefaehr wie: "Ich kann mit meinem roten Auto relativ schnell 100 Kilometer zuruecklegen. Fuer 500 Kilometer brauch ich aber schon etwa 3 Stunden. Das ist mir zu lang. Frage: Kann man mit einem roten Auto 500 Kilometer auch schneller zuruecklegen, oder braucht man dafuer ein blaues Auto?"

    Wir koennen mit Dir ueber Deine bestehende Suchtechnik diskutieren und vielleicht bessere Alternativen finden, wenn Du uns mitteilst, wie diese grob funktioniert. Sowas gehoert dann in die Kategorie Programmiertechnik -- nur damit Du das nicht missverstehst. Aber die Anzahl der Dateien, ich bitte Dich, das ist sowas von *egal* (wenn man noch nicht mal die Groesse der Dateien kennt...). Und vor allem, sowas an der Programmiersprache festzumachen ist wirklich so wie oben das mit den Farben.

    So long

    1. Hoi,

      Aber die Anzahl der Dateien, ich bitte Dich, das ist sowas
      von *egal* (wenn man noch nicht mal die Groesse der Dateien
      kennt...).

      Nun, das kommt auf den Algorithmus an. Wenn er jede besch... Datei
      einzeln oeffnet, einliest und durchsucht, dann ist die Anzahl der
      Dateien durchaus ein ausschlaggebender Faktor.

      Gruesse,
       CK

      1. Sup!

        Aber ob PHP oder Perl die Datei aufmachen oder ein handoptimiertes Fortran-Programm mit Inline-Assembler-Stückchen und eigenem IDE-Interface, das ist schon irgendwo egal... oder?

        Gruesse,

        Bio

        1. Hoi,

          Aber ob PHP oder Perl die Datei aufmachen oder ein handoptimiertes
          Fortran-Programm mit Inline-Assembler-Stückchen und eigenem IDE-Interface,
          das ist schon irgendwo egal... oder?

          Habe ja nichts anderes gesagt ;-)

          Gruesse,
           CK