Hallo ich habe mit der Hilfe von netten Leuten aus diesem Forum die Volltextsuche aus der Doku mit "und"-Verknüpfung modifiziert. Das klappt auch beim ersten
Duchlauf...jedoch beim Durchsuchen der nächsten 2500 Datensätze steht scheinbar vor jedem Suchbegriff: %2b.(ist wohl das Leerzeichen)der Fehler liegt im Link ( out "<a href=\"baseportal.pl?htx=$htx&suchbegriffe=".convert_url($_fullsearch).
"&fullsearch _range=$newrange,$_fullsearch_range_length\">$beschreibung</a>";) der die jeweils nächste Suche startet.
Hier das Script, das die Begriffe mit einem "+" Verknüpft:
<loop db=produkte code=perl _fullsearch==$suchbegriffe >
</loop>
@suchargumente=split(/ /, $suchbegriffe);
$suchbegriffe="+";
for (@suchargumente) {
$suchbegriffe=$suchbegriffe.$_.",+";
}
$suchbegriffe substr($suchbegriffe,0,length($suchbegriffe)-2);
$link="baseportal.pl?htx=".$htx;
get "_fullsearch==$suchbegriffe";
return if $_fullsearch eq "";
########Hier ist der Ausgabeteil######
$out=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
out $out;
}
my $newrange=$_fullsearch_range+$_fullsearch_range_length;
my $ beschreibung;
if($_fullsearch_match_pos<$newrange)
{
$beschreibung="Suche nach weiteren Treffern";
$newrange=$_fullsearch_match_pos;
} else
{
out "<b>Kein Treffer. </b><p>" if $_fullsearch_amount<1;
$beschreibung="Suche in weiteren Datensätzen";
}
if($newrange<$_amount_all)
{
out "Es wurde noch nicht in allen Datensätzen gesucht: ";
out "<a href=\"baseportal.pl?htx=$htx&suchbegriffe=".convert_url($_fullsearch).
"&fullsearch _range=$newrange,$_fullsearch_range_length\">$beschreibung</a>"; } else
{
out "Die Datenbank wurde komplett durchsucht.";
}
Ich habe schon viel rumprobiert, komme aber leider zu keinem zufriedenstellenden Ergebnis. Vielleicht blick das ja einer von euch...Danke, Helmut