]> git.deb.at Git - deb/packages.git/commitdiff
Use fgrep also for description search
authorJeroen van Wolffelaar <jeroen@wolffelaar.nl>
Wed, 22 Feb 2006 00:49:57 +0000 (00:49 +0000)
committerJeroen van Wolffelaar <jeroen@wolffelaar.nl>
Wed, 22 Feb 2006 00:49:57 +0000 (00:49 +0000)
lib/Packages/Search.pm

index 887bc43d9252605f31f08c998b38f05b365b50c7..54998a361ac48e08fd70b32c6088c76e2bf217ed 100644 (file)
@@ -460,12 +460,14 @@ sub do_fulltext_search {
 
     my $numres = 0;
     my %tmp_results;
-    open DESC, '<', "$file"
+    # fgrep is seriously faster than using perl
+    open DESC, '-|', 'fgrep', '-n', '--', $keyword, $file
        or die "couldn't open $file: $!";
     while (<DESC>) {
-       next if (index $_, $keyword) < 0;
-       debug( "Matched line $.: $_", 2);
-       my $result = $did2pkg->{$.};
+       /^(\d+)/;
+       my $nr = $1;
+       debug( "Matched line $_", 2);
+       my $result = $did2pkg->{$nr};
        foreach (split /\000/o, $result) {
            my @data = split /\s/, $_, 3;
 #          debug ("Considering $data[0], arch = $data[2]", 3);