Beitrag von till (1103 Beiträge) am Montag, 17.Januar.2005, 14:28.
fragen zur volltextsuche
hallo,
leider finde ich den thread im forum nicht mher, aber ich erinnere mich daran, daß vor einiger zeit die rede dasvon war, daß beschänkung der volltextsuche auf 2.500 datensätze wegfallen sollte.
das brauch ich jetzt (für eine db mit etwa 100.000 einträgen) unbedingt.
wer kann helfen ?
till
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 17.Januar.2005, 19:46.
Re: fragen zur volltextsuche
Das ist richtig, es gibt keine Beschränkung mehr. In der Lizenz werden standardmässig max. 2500 Einträge durchsucht, wenn nichts anderes angegeben ist, aber mit _fullsearch_range_length kann man das beliebig anders setzen...
Antworten
Beitrag von till (1103 Beiträge) am Montag, 17.Januar.2005, 22:27.
Re: fragen zur volltextsuche
gilt das für alle versionen und wo ist die verwendung der variablen beschrieben ?
aus
http://baseportal.de/bpws_doku.html#a23
werde ich dummerle nicht so richtig schlau.
ich benutze momentan die suchfunktion so:
<center>
<body><b>
<form action="http://www.meinserver.netpure.de/cgi-bin/baseportal.pl?htx=/mein_verzeichnis/liste&db=aerzteliste&cmd=search&range=0,2500&fullsearch_match=50" method="post" enctype="multipart/form-data">
<input type="hidden" name="htx=" value="/mein_server/liste">
<p>
<font face="arial,helvetica" size=2><b>Suche im Gesamtverzeichznis:</b><p> <input type="text" name="_fullsearch~~" value="$_fullsearch">
<input type="submit" value="Suchen">
</form>
</center>
<perl>
return if $_fullsearch eq "";
my $newrange=$_fullsearch_range+$_fullsearch_range_length;
my $txt;
if($_fullsearch_match_pos<$newrange)
{
$txt="Suche nach weiteren Treffern";
$newrange=$_fullsearch_match_pos;
} else
{
out "<b>Kein Treffer.</b><p>" if $_fullsearch_amount<1;
$txt="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&_fullsearch~~".convert_url($_fullsearch). "&fullsearch_range=$newrange,$_fullsearch_range_length\">$txt</a>";
} else
{
out "Die Datenbank wurde komplett durchsucht.";
}
</perl>
<font face="arial,helvetica" size=2>
<center>
wo muss jetzt da der parameter _fullsearch_range_length gesetzt werden ?
till
Antworten
Beitrag von hempelr (1976 Beiträge) am Montag, 17.Januar.2005, 22:56.
Re: fragen zur volltextsuche
Antworten
Beitrag von till (1103 Beiträge) am Dienstag, 18.Januar.2005, 08:42.
ich dummerle - nix kapiere
hi ruben,
offenkundig bin ich etwas blöd kapiere ich nicht.
leider ist das ja auch nicht dokumentiert.
meinst du das so ?
<form action="http://www.meinserver.netpure.de/cgi-bin/baseportal.pl?htx=/mein_verzeichnis/liste&db=aerzteliste&cmd=search&range=0,2500&fullsearch_match=50" method="post" enctype="multipart/form-data">
<input type="hidden" name="htx=" value="/mein_server/liste">
<input type="hidden" name="_fullsearch_range_length=" value="100000">
<p>
<font face="arial,helvetica" size=2><b>Suche im Gesamtverzeichznis:</b><p> <input type="text" name="_fullsearch~~" value="$_fullsearch">
<input type="submit" value="Suchen">
</form>
muss ich dann bei
http://www.meinserver.netpure.de/cgi-bin/baseportal.pl?htx=/mein_verzeichnis/liste&db=aerzteliste&cmd=search&range=0,2500&fullsearch_match=50
das range herausnehmen ?
liebe leute: ich kann das doch nicht ERRATEN ! und es kann doch nicht sein, daß man das ausprobieren muß.
also bitte christoph gib bitte die korrekte syntax für die vts bei 100.000 datensätzen doch mal an !
danke
till
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 18.Januar.2005, 11:41.
Re: fragen zur volltextsuche
Das gilt für alle Miet- und Lizenzversionen.
Ich hatte mich vertan, das heisst garnicht _fullsearch_range_length (das ist nur die Variable die einem den aktuellen Wert übergibt), sondern "fullsearch_range" und wird wie das bekannte "range" benutzt. Das ist hier
http://baseportal.de/bpws_doku.html#a25
auch alles beschrieben:
---
Definition:
fullsearch_range=[-]<Start>,<Anzahl zu durchsuchende Einträge>
---
Du könntest das z.b. direkt nach dem <form...> als hidden-Element einfügen:
<input type="hidden" name="fullsearch_length=" value="0,100000">
oder dort wo Du Deine DB-Abfrage hast:
<do action=all fullsearch_length=0,100000>
(habe ich in obigem Code nich gefunden)
Wenn eh immer die gesamte DB durchsucht wird, kannst Du den Teil hier:
if($newrange<$_amount_all)
{
out "Es wurde noch nicht in allen Datensätzen gesucht: ";
out "<a href=\"baseportal.pl?htx=$htx&_fullsearch~~".convert_url($_fullsearch). "&fullsearch_range=$newrange,$_fullsearch_range_length\">$txt</a>";
} else
{
out "Die Datenbank wurde komplett durchsucht.";
}
rauswerfen...
Antworten
Beitrag von till (1103 Beiträge) am Dienstag, 18.Januar.2005, 15:35.
Re: fragen zur volltextsuche
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 19.Januar.2005, 09:19.
Re: fragen zur volltextsuche
Antworten