sockä Geschrieben 18. Mai 2005 Teilen Geschrieben 18. Mai 2005 Hi zusammen, mich würde mal interessieren, wie man schnelle Suchalgorithmen in Dateien mit PHP bauen kann. Also eine Suche, wo man z.B. eine String eingibt und dann ein bestimmter Ordner alle Dateien nach diesem String durchsucht. Wenn ich mir nun mit file() o.ä. jede Datei schnappe und jede Zeile nach dem String durchsuche würde das bei 1000 Dateien einiges an Rechenzeit schlucken. Darum frage ich mich, was speziell in PHP die effizienteste Suche ist... womit habt ihr bisher die besten (= schnellsten) Erfahrungen?! Schreibt mir einfach mal eure bisherigen Erlebnisse. Danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 18. Mai 2005 Teilen Geschrieben 18. Mai 2005 welches dateisystem auf welcher architektur? falls es windows mit ntfs ist, ist der indexdienst dein freund. damit ist eine suche mittels sql-ähnlicher syntax möglich: SELECT * FROM SCOPE(‘ SHALLOW TRAVERSAL OF“c:\windows†‘,‘ DEEP TRAVERSAL OF “c:\windows\system32â€,“c:\windows\system†‘)WHERE FILENAME LIKE ‘WIN%’ falls es linux mit z.b. ext2/3 ist, tuts ein einzeiler mit "find" auch, den du in eine datei umleitest. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 23. Mai 2005 Teilen Geschrieben 23. Mai 2005 theoretisch hast du da ein großes Problem ^^ denn ab ca. 4000 Schleifendurchläufen in einem Verzeichnis sagt PHP "Ende" und bricht ab. ..k.A. könnte eine Servereinstellung sein. Am besten: Alle Daten die relevant sind in eine DB auslagern. Oder ein Maximum an Dateien pro verzeichnis. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 23. Mai 2005 Teilen Geschrieben 23. Mai 2005 Entweder diese Lösung... Am besten: Alle Daten die relevant sind in eine DB auslagern. Oder ein Maximum an Dateien pro verzeichnis. ...oder aber auf jeden Fall eine OS-Lösung verwenden... (siehe 1. Antwort) Meiner Meinung nach kannst Du das mit PHP so nicht performant abbilden. Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Habi Geschrieben 24. Mai 2005 Teilen Geschrieben 24. Mai 2005 Hallo, also ich benutze für sowas eine Volltextsuchmaschine. Der Index wird in meinem Fall einmal pro Nacht erzeugt (cronjob) Ich nutze Falle Swish-e (www.swish-e.org). Ist OpenSource, läuft unter Win und Linux, sehr schnell und mächtig. Prinzipiell gehen aber auch andere (Namazu, Harvest, phpdig...), wenn du nur unter Windows arbeitest ist der MS Index Server eine gute wahl, der indexiert laufend. Timo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 24. Mai 2005 Teilen Geschrieben 24. Mai 2005 Übliche Frage in diesem Forum: Wofür brauchst du es / was willst du durchsuchen / was willst du damit machen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.