Dse Anregungen / Schnellere Volltextsuche
 
StartSeite | DseAnregungen/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Es wäre schön, wenn die Volltextsuche zügiger abliefe.

Man hat den Eindruck, dass die Volltextsuche "intern tatsächlich sucht", statt sich eines Indexes zu bedienen, der bei Seitenänderungen zu aktualisieren wäre.

Der Eindruck ist auch richtig. Eine echte Volltextsuche mag archaisch scheinen, hat aber logische Vorteile gegenüber einem Index. Leider jedoch den Geschwindigkeitsnachteil. Ich muss das alles nochmal überdenken... -- HelmutLeitner

Eigentlich muss ich sagen, dass mir die Suche nicht zu langsam ist. Ich benötige sie nicht sehr oft. Wenn ich sie benutze, hat mich die Suchzeit meist nicht gestört. -- VolkerGlave

Ich hab ein schnelles Programm, sehr ähnlich zu fgrep, etwa 2.5-fach schneller als fgrep. Ohne -g bricht es nach dem ersten Fund ab. Mit -q gibt es nur den Exit-Code. Im übrigen kennt es die gängigen grep-Optionen. Wenn das Wiki auf Linux oder FBSD läuft, kann ich das Programm beisteuern.

 -rwxr-xr-x  1 root  wheel  25692 Feb 12 04:41 /u/bin/bgrep
 181]  /usr/bin/time bgrep -g iso /usr/z.iso ; echo $status
 38943
 38986
 34750774
 42695647
 48611650
 58583045
 61011089
 67038079
 88019770
 93392545
 102015715
 102858109
 105300951
 106031409
 120356014
 122784107
 128811266
         1.09 real         0.47 user         0.34 sys
 0
Wie zu sehen ist: ~1s für 120 MB; PIII/700. Das ist irre schnell. --hs

Helmut, zunächst einmal vielen Dank für dein Angebot. Derzeit läuft die Suche nicht über grep (und nicht über Files), sondern intern in Perl (und über Bereiche innerhalb von Files). Ich kann also nicht 1:1 tauschen und vergleichen. Dazu wäre ein Umbau notwendig, den ich aber erst mache, wenn sich echte Performanceprobleme abzuzeichnen beginnen. Es würde auch zeigen, wie gut die Perl-Regex im Vergleich sind. Sehr spannend. Ich werde also gerne darauf zurück kommen (im Einsatz ist FreeBSD und Linux). Danke. -- HelmutLeitner

Zusatzinfo:

 bgrep  [-gclvhsq1M] [-on|-On] [-nn]  {{-f|-F}datei|[-e]folge}  datei ...
        n:  #[{b|k|w|l}][{x|+}#[{b|k|w|l}]]...[{x|+|-}#[{b|k|w|l}]]
        #:  [0]...{1-9}...[0-9]...
Man kann auch Offset + Anzahl n angeben.
Ich machte diesen Vorschlag, weil man zwischen raw und regexp umschalten kann. Ich dachte, bei raw wird auf andere Weise gesucht. Desweiteren bringt es sehr viel, wenn nach erstem Fund (s.o.: 38943) abgebrochen wird.
Übrigens, es wäre irresaugut, wenn es ein Highlighting (per Checkbox) gäbe, wie bei google:aus dem Cache. Das ließe sich auch mit bgrep machen (s.o.). --hs

Ja, das Highlighting wär super. Ich sehe nur im Moment noch Probleme, weil die Fundstellen unter Umständen mit Befehlen verzahnen können. Wenn dann ein HTML-Tag einfach darübergestülpt wird, kann das einiges durcheinanderbringen.

Was das Abbrechen betrifft, diese Optimierung macht Perl sicher, da es dafür eine eigene Unterscheidung m/.../ bzw m/.../g gibt. -- HelmutLeitner

Meines Wissens nach ist / bzw. /g zeilenorientiert! --hs


StartSeite | DseAnregungen/ | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 14. September 2003 17:53 (diff))
Suchbegriff: gesucht wird
im Titel
im Text