--- search/nn-swish.cgi 2002/06/25 15:06:47 1.5
+++ search/nn-swish.cgi 2002/06/26 08:55:39 1.6
@@ -19,7 +19,17 @@
if (param('search')) {
- my $s=param('search');
+ my $s;
+ # re-write query from +/- to and/and not
+ foreach (split(/\s+/,param('search'))) {
+ if (m/^([+-])(\S+)/) {
+ $s.= ($s) ? "and " : "";
+ $s.="not " if ($1 eq "-");
+ $s.="$2 ";
+ } else {
+ $s .= "$_ ";
+ }
+ }
$s=~tr/ščęŠČĘ/¹š¾čę©Š®ČĘ/; # 1250 -> iso8859-2
$s=~tr/¹©šŠčČęĘ¾®/sSdDcCcCzZ/;
@@ -48,9 +58,9 @@
$hits = $sh->query("naslov_czs=($s)");
if ($hits > 0) {
- print p,hr,"Našeno je $hits zakona...";
+ print p,hr,"Našeno je $hits zakona... ($s)";
} else {
- print p,"Nije našen niti jedan zakon... (",$sh->errstr,")";
+ print p,"Nije našen niti jedan zakon... ($s, ",$sh->errstr,")";
}
} else {
print p('Kod pretra¾ivanja pretra¾ivač pronalazi sve zakone u kojima se pojavljuju sve upisanje riječi.',br,'Ako ispred riječi upi¹ete minus (-) neęe se prikazivati zakoni koji imaju takvu riječ. Npr. +kava +zakon -dopunama');