/[mws]/trunk/lib/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/lib/MWS/SWISH.pm

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

revision 14 by dpavlin, Thu May 6 19:46:58 2004 UTC revision 20 by dpavlin, Fri May 7 23:35:39 2004 UTC
# Line 46  sub search_index { Line 46  sub search_index {
46          }          }
47    
48          print STDERR "swish search: $s\n";          print STDERR "swish search: $s\n";
49    
50            # convert to UTF-8
51            $s = $iso2utf->convert($s) || $s;
52          my $results = $index->Query($s);          my $results = $index->Query($s);
53    
54            # store total number of hits
55            $self->{'total_hits'} = $results->Hits;
56    
57          my @res_ids;          my @res_ids;
58    
59            my $count = 1;
60    
61          while ( my $r = $results->NextResult ) {          while ( my $r = $results->NextResult ) {
62    
63                  sub p($$) {                  sub p($$) {
# Line 63  sub search_index { Line 71  sub search_index {
71                  push @res_ids, $id;                  push @res_ids, $id;
72    
73                  foreach my $p (qw(from to cc bcc)) {                  foreach my $p (qw(from to cc bcc)) {
74                          @{$self->{cache}->{$id}->{$p}} = split(/##/, p($r,$p.'_phrase'));                          @{$self->{cache}->{$id}->{$p}} = ();
75                            foreach my $v (split(/##/, p($r,$p.'_phrase'))) {
76                                    push @{$self->{cache}->{$id}->{$p}}, $v;
77                                    $self->add_counter($p,$v);
78                            }
79                  }                  }
80    
81                  foreach my $p (qw(subject body date)) {                  foreach my $p (qw(subject body date)) {
82                          $self->{cache}->{$id}->{$p} = p($r,$p);                          $self->{cache}->{$id}->{$p} = p($r,$p);
83                  }                  }
84    
85                    $self->add_counter_calendar(p($r,'date_utime'));
86    
87                  # this is redundant, but needed for templates later...                  # this is redundant, but needed for templates later...
88                  $self->{cache}->{$id}->{'id'} = $id;                  $self->{cache}->{$id}->{'id'} = $id;
89    
90                    last if (++$count > $self->{max_results});
91          }          }
92    
93          return @res_ids;          return @res_ids;
# Line 88  sub add_index { Line 104  sub add_index {
104          my $xml = qq{<message>};          my $xml = qq{<message>};
105          foreach my $tag (keys %$document) {          foreach my $tag (keys %$document) {
106                  my $data = $document->{$tag};                  my $data = $document->{$tag};
107                    next if (! $data || $data eq '');
108                  # save [cr/]lf before conversion to XML                  # save [cr/]lf before conversion to XML
109                  $data =~ s/\n\r/##lf##/gs;                  $data =~ s/\n\r/##lf##/gs;
110                  $data =~ s/\n/##lf##/gs;                  $data =~ s/\n/##lf##/gs;
111                  $xml .= "<$tag><![CDATA[".$data."]]></$tag>\n" if ($data && $data ne '');                  $xml .= "<$tag><![CDATA[".$data."]]></$tag>\n";
112          }          }
113          $xml .= qq{</message>};          $xml .= qq{</message>};
114    

Legend:
Removed from v.14  
changed lines
  Added in v.20

  ViewVC Help
Powered by ViewVC 1.1.26