26 |
my $INDEX = $cfg_global->val('webpac', 'index') || die "need index in global.conf, section webpac"; |
my $INDEX = $cfg_global->val('webpac', 'index') || die "need index in global.conf, section webpac"; |
27 |
my $MAX_HITS = $cfg_global->val('webpac', 'max_hits') || 0; |
my $MAX_HITS = $cfg_global->val('webpac', 'max_hits') || 0; |
28 |
my $ON_PAGE =$cfg_global->val('webpac', 'on_page') || 10; |
my $ON_PAGE =$cfg_global->val('webpac', 'on_page') || 10; |
29 |
|
my $MIN_WILDCARD =$cfg_global->val('webpac', 'min_wildcard') || 1; |
30 |
|
|
31 |
|
|
32 |
Text::Iconv->raise_error(0); # Conversion errors raise exceptions |
Text::Iconv->raise_error(0); # Conversion errors raise exceptions |
108 |
$s.= ($s) ? "and " : ""; |
$s.= ($s) ? "and " : ""; |
109 |
$s.="not " if ($1 eq "-"); |
$s.="not " if ($1 eq "-"); |
110 |
$s.="$2* "; |
$s.="$2* "; |
111 |
} elsif (m/(and|or|not)/i) { |
} elsif (m/^\s*(and|or|not)\s*$/i) { |
112 |
|
$s.="$_ "; |
113 |
|
# don't add * to words with less than x chars |
114 |
|
} elsif (length($_) <= $MIN_WILDCARD) { |
115 |
$s.="$_ "; |
$s.="$_ "; |
116 |
} else { |
} else { |
117 |
$s.="$_* "; |
$s.="$_* "; |
162 |
$sw_q .= join("\" or swishdocpath=\"",@path_arr); |
$sw_q .= join("\" or swishdocpath=\"",@path_arr); |
163 |
$sw_q .= "\")"; |
$sw_q .= "\")"; |
164 |
$tmpl->param('full',1); # show full records |
$tmpl->param('full',1); # show full records |
165 |
|
} else { |
166 |
|
$tmpl->param('full',0); |
167 |
} |
} |
168 |
|
|
169 |
my $hits = $sh->query($sw_q); |
my $hits = $sh->query($sw_q); |
183 |
|
|
184 |
my @result; |
my @result; |
185 |
for (my $i=0; $i<$rows; $i++) { |
for (my $i=0; $i<$rows; $i++) { |
186 |
push @result, $swish_results[$offset+$i] if $swish_results[$offset+$i]; |
my $r = $swish_results[$offset+$i]; |
187 |
|
if ($r && $tmpl->param('full')) { |
188 |
|
push @result, $r; |
189 |
|
} elsif ($r) { |
190 |
|
# if not full output, skip html |
191 |
|
delete $r->{html}; |
192 |
|
push @result, $r; |
193 |
|
} |
194 |
} |
} |
195 |
return \@result; |
return \@result; |
196 |
}, |
}, |
237 |
return $html; |
return $html; |
238 |
} |
} |
239 |
|
|
240 |
my $tmpl = $self->load_tmpl('index_res.html'); |
my $tmpl = $self->load_tmpl('index_res.html', global_vars => 1); |
241 |
$tmpl->param('field',$field); |
$tmpl->param('field',$field); |
242 |
$tmpl->param('limit',$limit); |
$tmpl->param('limit',$limit); |
243 |
$tmpl->param('total',$total); |
$tmpl->param('total',$total); |