Volltextsuch spinnt - oder ich bin zu blöd ;-) - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Schuby (25 Beiträge) am Freitag, 17.Mai.2002, 20:17. WWW: www.roschuby.de
    Volltextsuch spinnt - oder ich bin zu blöd ;-)

      Versuche gerade die Volltextsuche ein bischen auszunutzen, und habe die Operatoren eingebaut.
      Bei den Operatoren
      ~~
      ~=
      ==
      ~~!
      ==!
      Klappt es wunderbar.
      Beim Operator
      ~=!
      setzt er mir vor das Suchwort ein ! (zb. !test) hin,und findet natürlich nichts.

      Weiß jemand Warum Weshalb Wieso ???

      Link zum Testen:
      http://www.guia-chile.de/cgi-bin/baseportal.pl?cmd=buscar&htx=/chile-web.de/guiachile/linklist/Quicklink

      Als Suchwort:
      test test - genauso mit Leerzeichen.
      Und Operator auf:
      Suche Wortanfang Beachte Gross/Klein
      stellen, alles andere so lassen.

      Wenn man dann weiterblättert setzt er mir immer mehr !!! vor das Suchwort.

      Hier mal der Code.

      Formular

      if($cmd eq "buscar")
      {
      out <<EOF;
      <form action="baseportal.pl?cmd=suchen&htx=$htx" method="post" enctype="multipart/form-data">
      <input type="hidden" name="htx=" value="$htx">
      Freie Suche: <input type="text" name="suchbegriffe:=" value="">
      <select name="Categoriea:=" size=1>
      <option value="">Todos</option> 
      EOF
      get "sort=-dir", "$dblink"; 
      while(get_next("$dblink"))
      {
      push(@MIR,"$dir")
      }
      foreach $nr(@MIR) #--- für jedes Hauptverzeichnis
      {
      @MM = split(/,/,$nr);           
      $VZ=$MM[0];
      $neu{$VZ}++ ;
      }
      foreach $test (keys %neu)
      {
      out "<option value=$test>$test</option>";
      }
      out <<EOF;
      </select>
      <select name="Verknupfung:=" size=1>
      <option value="">Una de las Palabras</option> 
      <option value=und>Todas las Palabras</option>
      </select>
      <select name="suchart:=" size=1>
      <option value="~~">Suche irgendwo im Text - Ignoriere Gross/Klein-Schreibung</option> 
      <option value="~=">Suche Wortanfang Ignoriere Gross/Klein</option>
      <option value="==">Suche exaktes Wort Ignoriere Gross/Klein</option>
      <option value="~~!">Suche irgendwo im Text Beachte Gross/Klein-Schreibung</option>
      <option value="~=!">Suche Wortanfang Beachte Gross/Klein</option>
      <option value="==!">Suche exaktes Wort Beachte Gross/Klein</option>
      </select>
      <select name="anz:=" size=1>
      <option value="3">3</option> 
      <option value="20">20</option>
      <option value="30">30</option>
      <option value="40">40</option>
      <option value="50">50</option>
      <option value="60">60</option>
      <option value="70">70</option>
      <option value="80">80</option>
      <option value="80">90</option>
      <option value="100">100</option>
      

      </select>

      <input type="submit" value="Suchen">
      </form>
      EOF
      }
      




      Und die Suche

      if ($cmd eq "suchen")#---- Ausgabe bei Volltextsuche
      {
      @suchargumente=split(/ /, $suchbegriffe);
      $suchbegriffe="";
      for (@suchargumente)
      {
       $suchbegriffe=$suchbegriffe.$_.",";
      }
      $suchbegriffe=substr($suchbegriffe,0,length($suchbegriffe)-1);
        
       if ($suchbegriffe eq "") #---- Suchbegriffe füllen (wird beim Blättern benötigt)
       {
        $suchbegriffe=$_fullsearch;
       }
       if ($Verknupfung eq "und")
        {
         @suchargumente=split(/ /, $suchbegriffe);
         $suchbegriffe="+";
         for (@suchargumente)
          {
          $suchbegriffe=$suchbegriffe.$_.",+";
          }
         $suchbegriffe=substr($suchbegriffe,0,length($suchbegriffe)-2);
        }
       get "_fullsearch$suchart$suchbegriffe fullsearch_match=$anz fullsearch_sort=-Hits Verzeichniss==$Categoriea" , "$dbname", "suchen";
       while(get_next("suchen"))
       {
        if ($_loop % 2 == 0)#------Farbwechsel über $colt
         {
         $colt= "<tr bgcolor=\"#f9f9f9\">";
         } else {
         $colt= "<tr bgcolor=\"#ffffff\">";
         }
      #----------------- Ende Farbwechsel ------------------------------------------
        $Vote = sprintf('%.2f', $Vote);      #- Vote auf zwei Stellen runden  
        $Inhalt=substr($Inhalt,0,65)."...."; #- Ausgabe kürzen
      
        my $NEU="<font color=red>NUEVO: </font>" if($_raw{Erstellt} gt datum("jetzt-2", "intern"));
        
        $Titel=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
        $Inhalt=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
        
        $list= "<td valign=top width=35%><font style='font-family: Arial; font-size: 8pt'><a href='baseportal.pl?sel=$sel&LID=$_id&cmd=info&SHOW=$_get{SHOW}&mid=$_get{mid}&lid=$_get{lid}&htx=$htx'>$Titel</a></font></td><td valign=top width=35%><font style='font-family: Arial; font-size: 8pt'>$Inhalt</font></td><td valign=top><font size=1 face=Arial>Hits : $Hits</font></td><td valign=top><font size=1 face=Arial>Punctos : $Vote</font></td><td valign=top><font size=1 face=Arial><b><a href='$lbasecgi?LID=$_id&htx=$linkhits&zeitversek==$zeitversek&Link==$Link' target='_blank'>$pic1</a></b></font></td></tr>";
        out "<br>$_fullsearch_amount<br>$_fullsearch_match_pos<br>$_amount_query<br>$_fullsearch_match<br>$_fullsearch";
        
        out $colt.$list; 
       }
       my $newrange=$_fullsearch_range+$_fullsearch_range_length;
       my $txt;
       if($_fullsearch_match<=$_amount_query)
        {
         $txt="Suche nach weiteren Treffern";
         $newrange=$_fullsearch_match_pos;
        } else {
         out "<b>Kein Treffer.</b><p>" if $_amount_query<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?cmd=suchen&htx=$htx&_fullsearch$suchart".convert_url($_fullsearch).
         "&fullsearch_range=$newrange,$_fullsearch_range_length&suchart=$suchart&anz=$anz\">$txt</a>";
        } else {
         out "Die Datenbank wurde komplett durchsucht.";
       }
      }
      

      Irgendwie komme ich nicht auf die Lösung.

      Vieleicht weiß ja jemand wie man das hinbekommt.

      Da fällt mir noch was ein, und zwar wollte ich die Volltextsuche ganz gerne auf einige Felder Beschränken, und habe da im Forum mal den Befehl fields_fullsearch=Feldname1,Feldname2...etc.
      Ich glaube in der Beta.
      Habe ihn mal ausprobiert, klappt aber nicht.
      Gibt es den bei den Webspace angeboten nicht ?

      Danke für die Hilfe

      Gruß aus Chile
      Schuby


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Schuby (25 Beiträge) am Freitag, 17.Mai.2002, 20:17. WWW: www.roschuby.de
    Volltextsuch spinnt - oder ich bin zu blöd ;-)

      Versuche gerade die Volltextsuche ein bischen auszunutzen, und habe die Operatoren eingebaut.
      Bei den Operatoren
      ~~
      ~=
      ==
      ~~!
      ==!
      Klappt es wunderbar.
      Beim Operator
      ~=!
      setzt er mir vor das Suchwort ein ! (zb. !test) hin,und findet natürlich nichts.

      Weiß jemand Warum Weshalb Wieso ???

      Link zum Testen:
      http://www.guia-chile.de/cgi-bin/baseportal.pl?cmd=buscar&htx=/chile-web.de/guiachile/linklist/Quicklink

      Als Suchwort:
      test test - genauso mit Leerzeichen.
      Und Operator auf:
      Suche Wortanfang Beachte Gross/Klein
      stellen, alles andere so lassen.

      Wenn man dann weiterblättert setzt er mir immer mehr !!! vor das Suchwort.

      Hier mal der Code.

      Formular

      if($cmd eq "buscar")
      {
      out <<EOF;
      <form action="baseportal.pl?cmd=suchen&htx=$htx" method="post" enctype="multipart/form-data">
      <input type="hidden" name="htx=" value="$htx">
      Freie Suche: <input type="text" name="suchbegriffe:=" value="">
      <select name="Categoriea:=" size=1>
      <option value="">Todos</option> 
      EOF
      get "sort=-dir", "$dblink"; 
      while(get_next("$dblink"))
      {
      push(@MIR,"$dir")
      }
      foreach $nr(@MIR) #--- für jedes Hauptverzeichnis
      {
      @MM = split(/,/,$nr);           
      $VZ=$MM[0];
      $neu{$VZ}++ ;
      }
      foreach $test (keys %neu)
      {
      out "<option value=$test>$test</option>";
      }
      out <<EOF;
      </select>
      <select name="Verknupfung:=" size=1>
      <option value="">Una de las Palabras</option> 
      <option value=und>Todas las Palabras</option>
      </select>
      <select name="suchart:=" size=1>
      <option value="~~">Suche irgendwo im Text - Ignoriere Gross/Klein-Schreibung</option> 
      <option value="~=">Suche Wortanfang Ignoriere Gross/Klein</option>
      <option value="==">Suche exaktes Wort Ignoriere Gross/Klein</option>
      <option value="~~!">Suche irgendwo im Text Beachte Gross/Klein-Schreibung</option>
      <option value="~=!">Suche Wortanfang Beachte Gross/Klein</option>
      <option value="==!">Suche exaktes Wort Beachte Gross/Klein</option>
      </select>
      <select name="anz:=" size=1>
      <option value="3">3</option> 
      <option value="20">20</option>
      <option value="30">30</option>
      <option value="40">40</option>
      <option value="50">50</option>
      <option value="60">60</option>
      <option value="70">70</option>
      <option value="80">80</option>
      <option value="80">90</option>
      <option value="100">100</option>
      

      </select>

      <input type="submit" value="Suchen">
      </form>
      EOF
      }
      




      Und die Suche

      if ($cmd eq "suchen")#---- Ausgabe bei Volltextsuche
      {
      @suchargumente=split(/ /, $suchbegriffe);
      $suchbegriffe="";
      for (@suchargumente)
      {
       $suchbegriffe=$suchbegriffe.$_.",";
      }
      $suchbegriffe=substr($suchbegriffe,0,length($suchbegriffe)-1);
        
       if ($suchbegriffe eq "") #---- Suchbegriffe füllen (wird beim Blättern benötigt)
       {
        $suchbegriffe=$_fullsearch;
       }
       if ($Verknupfung eq "und")
        {
         @suchargumente=split(/ /, $suchbegriffe);
         $suchbegriffe="+";
         for (@suchargumente)
          {
          $suchbegriffe=$suchbegriffe.$_.",+";
          }
         $suchbegriffe=substr($suchbegriffe,0,length($suchbegriffe)-2);
        }
       get "_fullsearch$suchart$suchbegriffe fullsearch_match=$anz fullsearch_sort=-Hits Verzeichniss==$Categoriea" , "$dbname", "suchen";
       while(get_next("suchen"))
       {
        if ($_loop % 2 == 0)#------Farbwechsel über $colt
         {
         $colt= "<tr bgcolor=\"#f9f9f9\">";
         } else {
         $colt= "<tr bgcolor=\"#ffffff\">";
         }
      #----------------- Ende Farbwechsel ------------------------------------------
        $Vote = sprintf('%.2f', $Vote);      #- Vote auf zwei Stellen runden  
        $Inhalt=substr($Inhalt,0,65)."...."; #- Ausgabe kürzen
      
        my $NEU="<font color=red>NUEVO: </font>" if($_raw{Erstellt} gt datum("jetzt-2", "intern"));
        
        $Titel=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
        $Inhalt=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
        
        $list= "<td valign=top width=35%><font style='font-family: Arial; font-size: 8pt'><a href='baseportal.pl?sel=$sel&LID=$_id&cmd=info&SHOW=$_get{SHOW}&mid=$_get{mid}&lid=$_get{lid}&htx=$htx'>$Titel</a></font></td><td valign=top width=35%><font style='font-family: Arial; font-size: 8pt'>$Inhalt</font></td><td valign=top><font size=1 face=Arial>Hits : $Hits</font></td><td valign=top><font size=1 face=Arial>Punctos : $Vote</font></td><td valign=top><font size=1 face=Arial><b><a href='$lbasecgi?LID=$_id&htx=$linkhits&zeitversek==$zeitversek&Link==$Link' target='_blank'>$pic1</a></b></font></td></tr>";
        out "<br>$_fullsearch_amount<br>$_fullsearch_match_pos<br>$_amount_query<br>$_fullsearch_match<br>$_fullsearch";
        
        out $colt.$list; 
       }
       my $newrange=$_fullsearch_range+$_fullsearch_range_length;
       my $txt;
       if($_fullsearch_match<=$_amount_query)
        {
         $txt="Suche nach weiteren Treffern";
         $newrange=$_fullsearch_match_pos;
        } else {
         out "<b>Kein Treffer.</b><p>" if $_amount_query<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?cmd=suchen&htx=$htx&_fullsearch$suchart".convert_url($_fullsearch).
         "&fullsearch_range=$newrange,$_fullsearch_range_length&suchart=$suchart&anz=$anz\">$txt</a>";
        } else {
         out "Die Datenbank wurde komplett durchsucht.";
       }
      }
      

      Irgendwie komme ich nicht auf die Lösung.

      Vieleicht weiß ja jemand wie man das hinbekommt.

      Da fällt mir noch was ein, und zwar wollte ich die Volltextsuche ganz gerne auf einige Felder Beschränken, und habe da im Forum mal den Befehl fields_fullsearch=Feldname1,Feldname2...etc.
      Ich glaube in der Beta.
      Habe ihn mal ausprobiert, klappt aber nicht.
      Gibt es den bei den Webspace angeboten nicht ?

      Danke für die Hilfe

      Gruß aus Chile
      Schuby

     Antworten

    Beitrag von Schuby (25 Beiträge) am Freitag, 17.Mai.2002, 20:35. WWW: www.roschuby.de
    Bin zu blöd ;-) - und zu schnell

      Habe gerade festgestellt, das es nicht klappen kan, da er einfach mit den = Zeichen nicht klar kommt. werde das ganze jetzt umbauen und über ne Abfrage laufen lassen.
      Mal schuen ob das klappt.

      Nichts für ungut - Man sollte einfach ab und an mal ne Pause machen.

      Gruß schuby

     Antworten

    Beitrag von Schuby (25 Beiträge) am Freitag, 17.Mai.2002, 21:19. WWW: www.roschuby.de
    Doch Fehler von bp - Christoph !!!!!!

      Sieht ja schon fast aus wie ein Selbstgespräch :-))
      Egal

      Folgendes Problem !

      Und zwar haut der Operator ~=! nicht hin (zumindest im perl).
      Er nimmt den ersten Teil ~= zur Suche und setzt das ! vor das erste Suchwort.
      Habe es mit mehreren Möglichkeiten ausprobiert.
      Einmal über das Formular so wie in der Dockumentaion.
      Dann über get direkt, also
      get "_fullsearch~=!test,test fullsearch_match=3 fullsearch_sort=-Hits Verzeichniss==$Categoriea" , "$dbname", "suchen";
      

      Und jedesmal hat er mir als erstes Suchwort ein !test ausgegeben.

      Kanst du mir sagen woran das liegt ?

      Danke für die Antwort.

      Ps. Das mit den Bannern finde ich ne recht gute Lösung, wenn ich dran denke wie viele Dienste dir die Homepage mit PopUp zu Pflastern, ist deine Bannerart doch recht Human.

      Gruß aus Chile Schuby

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 18.Mai.2002, 01:18.
    Re: Doch Fehler von bp?

      Kann Dir auf die Schnelle nich sagen worans liegt, müsst ich mir en detail anschauen, aber ich kann Dir sagen, wie Du's löst: ;-)

      get ["_fullsearch", "~=!", "test,test", "&", "Verzeichnis", "==", $Categoriea] , "$dbname", "suchen";
      

      Wie man das mit dem "fullsearch_match=3" etc. einbaut weiss ich grad nich genau, Sander weiss da mehr ;-))

     Antworten

    Beitrag von Schuby (25 Beiträge) am Samstag, 18.Mai.2002, 01:34. WWW: www.roschuby.de
    Besten Dank !!

      Danke Christoph

      Den Rest kriege ich dann schon hin.

      Doch da fällt mir noch was ein, weiß jemand wie man die Volltextsuche dazu bringt nur einige der Felder zu durchsuchen ?
      Wäre hilfreich, weil wenn jemand info zur Suche eingibt, dann werden mit sicherheit einige EMail Adressen gefunden mit info@haumichtot.usw

      Gruß Schuby

     Antworten


     
 Liste der Einträge von 47100 bis 47250:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.12s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!