Christoph Zurnieden: Einlesen mit XMLHttpRequest() begrenzen

Beitrag lesen

Hi,

Ich hätte da ja eher die Rückgabe von XmlHttpRequest genutzt und den erzeugten Baum mittels DOM geparsed. Aber gut, jeder wie's ihm gefällt ;-)

Ja, das wäre wohl eine deutlich elegantere Lösung gewesen, die Du da ansprichst. Ist mir aber, da ich nciht so DOM bewandert bin^^,

Naja, wäre dann ja mal 'ne günstige Gelegenheit ;-)

seiner Zeit nicht in den Sinn gekommen. IndexOf und substr fallen mir zum suchen immer auf anhieb ein. Letztlich sollte es - zumindest was die Geschwindigkeit angeht - keine Vor/Nachteile mit sich bringen es so oder so zu machen.

Theoretisch wäre die DOM-Suche schneller. Aber Flaschenhals ist I/O sprich das Laden der Dateien, da spielt der eigentliche Stringsuchalgorithmus in der Datei keine wesentliche Rolle mehr (vorrausgesetzt natürlich es ist kein "Bogosearch" o.ä. ;-), da hast Du natürlich Recht.

Aber mit dem sehr hohem Preis der Langsamkeit, die Dir auf den Senkel geht. Sonst hättest Du ja auch nicht gefragt, wie's schneller funktioniert, gelle? ;-)

Ja, indirekt stimmt das. Ich wollte es aber beschleunigen, in dem ich "verhindere", das unnötige Teile der einzelnen Seiten geladen werden.

Ja, deshalb ja mein Vorschlag, dieses Laden vollständig zu unterbinden bzw extrem zu reduzieren.

Die Geschwindigkeit ist ja Maßgeblich durch die InternetVerbindung gegeben. Es dauert - so vermute ich mal - genau SO lange, als würde man sich die zu durchsuchenden Seiten nacheinander im Browser ansehen plus ein paar 10tel Sekunden, die das Script an sich noch benötigt.

Es geht ein klein wenig schneller, da nichts gerendert werden muß, aber das ist nicht wesentlich: größter Zeitfresser ist und bleibt das Laden der Datei vom Server.

Ein gewisses Problem ist die Phrasensuche, wäre aber auch lösbar.
Bitte?

Du kannst ja jetzt dank Volltextsuche auch nach Teilsätzen suchen. Sei "Dies ist ein vollständiger Satz, der sogar einen Nebensatz hat." das Beispiel, so kannst Du nicht nur nach einzelnen Worten sondern auch nach mehreren Worten mit gegebener Reihenfolge suchen. "ein vollständiger Satz" findet obigen Satz, "vollständiger ein Satz" findet ihn nicht.
In einem Inverted Index stehen nur einzelne Worte drin, benebest einer Liste, in welcher Datei diese Worte vorkommen. Du kannst also so maximal feststellen, welche Datei alle Worte enthält, aber nicht in welcher Reihenfolge. Wenn Du nun aber neben dem nacktem Fundort auch die die laufende Nummer des Wortes (z.B. "wort" ist in Datei "yxz" an 23. Stelle) im Inverted Index speicherst, hast Du auch die Reihenfolge und damit ist dann natürlich auch eine Phrasensuche möglich.
Oder Du behältst Deine Mimik mit der Volltextsuche und wendest die bei allen Dateien an, in denen alle Worte vorkommen.

Über eine Offline-Katalogsuche mit Javascript.
hmm, offline funktioniert die Suche recht schnell, das ist also weniger das Problem. Ich weiss aber nicht wie es aussieht, wenn man "viele" Dateien scannt.

Im Selfhtml-8.1 Paket gibt es 1446 HTML-Dateien, ist auch mein Testbed, viel Spaß damit ;-)

so short

Christoph Zurnieden