/[mws]/trunk/MWS_swish.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/MWS_swish.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 23 by dpavlin, Sat May 8 02:21:50 2004 UTC revision 24 by dpavlin, Sat May 8 14:27:54 2004 UTC
# Line 42  sub search_index { Line 42  sub search_index {
42    
43          my $sw;          my $sw;
44    
45            my $sort_map = {
46                    'date' => 'date_utime',
47                    'from' => 'from_phrase',
48                    'to' => 'to_phrase',
49                    'rank' => 'swishrank',
50            };
51    
52            my $sort_by;
53    
54          foreach my $s (@_) {          foreach my $s (@_) {
55    
56                  if ($s =~ /^\s*(\w+):(.+)\s*$/) {                  if ($s =~ /^\s*(\w+):(.+)\s*$/) {
57                          $sw .= "$1=($2)";                          my ($f,$v) = ($1,$2);
58                            if (lc($f) eq "sort") {
59                                    my ($sf,$sv) = split(/ /,$v,2);
60                                    $sort_by = $sort_map->{$sf} || croak "unsupported sort by field $v - fix sort_map";
61                                    $sort_by .= " $sv";
62                            } else {
63                                    $sw .= "$f=($v)";
64                            }
65                  } else {                  } else {
66                          # and/or/not operators                          # and/or/not operators
67                          $sw .= " $s ";                          $sw .= " $s ";
# Line 56  sub search_index { Line 72  sub search_index {
72    
73          # convert to UTF-8          # convert to UTF-8
74          $sw = $iso2utf->convert($sw) || $sw;          $sw = $iso2utf->convert($sw) || $sw;
75          my $results = $index->Query($sw);  
76            my $search = $index->New_Search_Object;
77            $search->SetSort( $sort_by );
78            my $results = $search->Execute($sw);
79    
80          # store total number of hits          # store total number of hits
81          $self->{'total_hits'} = $results->Hits;          $self->{'total_hits'} = $results->Hits;

Legend:
Removed from v.23  
changed lines
  Added in v.24

  ViewVC Help
Powered by ViewVC 1.1.26