Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-) - 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 Sander (8133 Beiträge) am Dienstag, 11.September.2001, 18:39.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      pack mal ein bischen mehr code hier rein. Mir ist da aufgefallen, einmal $suche, dann $Suchbegriff - soll das so sein? sollte nicht in $suche + und , rausgefischelt werden? dann muß aber bei if auch $suche rein.

      Sander


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Markus (0 Beiträge) am Samstag, 8.September.2001, 16:42.
    Volltextsuche, Teil eines Datensatzes ändern

      Hallo

      Ich möchte gerne mittels Volltextsuche (bbeta) nach einen Begriff in einer DB suchen und dann in allen Datensätzen, welche gefunden werden den Suchbegriff (Teil eines Feldes, Text) durch einen neuen, zuvor festgelegten Begriff ersetzten.

      Wie gehts das?

      Gruss Markus

      P.S.: Die Volltextsuche läuft, hab das schon ausprobiert. Es geht nur ums Ersetzten.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 8.September.2001, 20:22.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      wie sieht dein jetziger code aus? loop, get, do?
      hast du dran gedacht, das die Volltext bei "aus" auch "Maus" und "Haus" findet?

      Sander

     Antworten

    Beitrag von Markus (0 Beiträge) am Sonntag, 9.September.2001, 12:23.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      Ich arbeite mit perl (get, get_next).
      Ja, das weiss ich, dass exakte Begriffe (noch, hoffe ich doch...) nicht gesucht werden können. Es handelt sich bei mir um Namen von Personen (Vor- und Nachname), da sollte es keine Probleme geben.

      Gruss

      Markus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 9.September.2001, 14:44.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      da könnte man mit suchen erstzen arbeiten:

      $Feldname=~s/$suche/ersetzung/gi;
      

      Sander

     Antworten

    Beitrag von Markus (0 Beiträge) am Montag, 10.September.2001, 16:14.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      Danke, funktioniert auch. Vor "ersetzung" kommt einfach noch ein "$"... :-)

      Noch ne andere Frage:
      Wie kann man alle "+" und "," aus einem String löschen?

     Antworten

    Beitrag von Markus (0 Beiträge) am Montag, 10.September.2001, 17:36.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      und wenn ich schon dabei bin...
      Hab ne Möglichkeit gefunden (denke ich...), wie man die Volltextsuche auf einen exakten Begriff beschränken kann.
      Dafür würde ich zuerst mittels "normaler" Volltext-Suche alle möglichen Datensätze abrufen (perl, get).
      In der while/get_next-Schlaufe käme ein perl-Befehl, der einen String (Feld) nach exaten werten durchsucht.
      Die Variable $Suchbegriff darf muss denn exakten Wert enthalten (z.B. "Marcel Muster"), ohne "+" und ",", aber mit Leerzeichen.
      Das wäre mein Vorschlag:

      $feld =~ m/$Suchbegriff/i; 
      

      Stimmt das so? Hab ich im Netz gefunden. Diese Anweisung soll einen Rückgabe-Wert haben, true wenn etwas gefunden wird.
      'Der Rückgabewert ist "wahr" ("true"), falls dies zutrifft, sonst "falsch" ("false"). Verwendet man anstelle von "=~" den Operator "!~", so ist der Rückgabewert genau entgegengesetzt: "true" bei erfolgloser Suche.'
      Wie kann ich diesen Rückgabewert abfragen? Bin (noch... :-)) kein Perl-Spezialist...
      Der jeweilige Eintrag würde dann nur erscheinen, wenn xxx true ist.

      Danke und Gruss

     Antworten

    Beitrag von Markus (0 Beiträge) am Montag, 10.September.2001, 17:49.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      Damit wäre ja auch die Begrenzung auf 1 Feld gemacht...

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 10.September.2001, 18:04.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      ja hast recht es wird aber ein "Aber" von Christoph kommen ;-)

      $blabla=~s/\+|\,/ /g; # + u. , mit leerzeichen ersetzen
      if ($feld =~ / $Suchbegriff /) # wenn vorhanden also true - leerzeichen beachten, sonst könnte doch noch was anderes dabei sein
      {
      out $feld;
      }
       
      
      Sander

     Antworten

    Beitrag von Markus (0 Beiträge) am Montag, 10.September.2001, 19:45.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      Was hat denn Christoph dagegen?

      Bei mir funktioniert es aber nicht so ganz... Hab den Befehl genau so geschrieben wie du:

      if ($feld =~ / $Suchbegriff /) ...
      

      Was kanns sein? Es wird nie was gefunden, "Normale" Volltextsuche funktioniert einwandfrei.
      Hab noch eine erweiterungs-Wunsch mit den Zeichen ersetzten:

      Das 1. "+" im String soll gelöscht (kein Leerzeichen) und alle anderen durch Leerzeichen ersetzt werden. Die "," sollen alle gelöscht werden.

      Jetzt ist mir klar, was mit dem Rückgabewert gemeint ist. Wenn nichts gestanden wäre von dem hätte ich es warscheinlich gerafft, ist ja logisch, tja... :-)

      Gruss und Danke

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 10.September.2001, 21:05.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      Für feld mußt du deine Feldbezeichnung einsetzen, die das wort enthalten könnte.
      Das suchen/ersetzen:
      $suchbegriff=~s/^\+|\,//; #zeichen löschen
      $suchbegriff=~s/\+/ /; #mit leerzeichen ersetzen
      

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 10.September.2001, 21:07.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      halt, noch Fehler dabei:

      $suchbegriff=~s/^\+|\,//g; #zeichen löschen
      $suchbegriff=~s/\+/ /g; #mit leerzeichen ersetzen
      

     Antworten

    Beitrag von Markus (0 Beiträge) am Montag, 10.September.2001, 22:36.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      Das ist mir schon klar, hab die Variable "$feld" auch durch das richtige Feld ersetzt. Stimmt also nicht ganz, was ich geschrieben habe ("genau so wie du").
      Geht in diesem Fall immer noch nicht. Hab hier mal einen Codeausschnitt, welches nur die gefunden Datensätze zählt. Es wid nie was gefunden... :-((

      $treffer=0;
      get "_fullsearch==$suche", "fotopersonen";
      while(get_next("fotopersonen")) {
        if ($name_personen =~ / $Suchbegriff /) { 
          $treffer++; 
        }
      }
      


      Warum hat denn Christoph was dagegen, mit dieser Anwendung? Keine saubere Lösung?

      Der Zeichenfilter funktioniert bestens, Dankeschön!

      Gruss Markus

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 10.September.2001, 22:52.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      ...ich weiss auch nicht, was ich wogegen haben sollte? ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 10.September.2001, 23:34.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      Ich dachte es kommt wieder der "erhobene Zeigefinger" wegen der Last :-)) wenn jedes Feld extra durchsucht wird - hatten wir doch schon mit der normalversionVTS

      Naja, nicht das du da was dagegen hast... aber so ein Einwand kam sonst ;-)

      Sander

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 10.September.2001, 23:55.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      Achso ja, stimmt natürlich: Nich machen sowas!! ;-)

     Antworten

    Beitrag von Markus (0 Beiträge) am Dienstag, 11.September.2001, 13:17.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 11.September.2001, 18:39.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      pack mal ein bischen mehr code hier rein. Mir ist da aufgefallen, einmal $suche, dann $Suchbegriff - soll das so sein? sollte nicht in $suche + und , rausgefischelt werden? dann muß aber bei if auch $suche rein.

      Sander

     Antworten

    Beitrag von Markus (0 Beiträge) am Dienstag, 11.September.2001, 23:10.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      Ne, das stimmt so. In $suche ist der "normale" Begriff gespeichert, und in $Suchbegriff der gefilterte.
      Hab den Fehler gefunden! Die Leerzeichen vor und nach $Suchbegriff dürfen nicht vorkommen!

      if ($feld =~ /$Suchbegriff/) ...
      

      Den Befehl "_fullsearch" kann mann nicht auf eine einzelne Variable anwenden, oder? Oder anders gefragt, ich würde gerne noch Volltextsuche mit Feldbeschränkung ohne exakten Begriff ermöglichen (AND-Verknüfung der Suchbegriffe). Ist das mit perl auch irgendwie möglich?

      Markus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 11.September.2001, 18:40.
    Re: Volltextsuche, Teil eines Datensatzes ändern - Ja, aber... ;-)

      wusste ich doch, ha ;-))))

      Sander

     Antworten

    Beitrag von Markus (0 Beiträge) am Montag, 10.September.2001, 17:48.
    Re: Volltextsuche, Teil eines Datensatzes ändern

      und wenn ich schon dabei bin...
      Hab ne Möglichkeit gefunden (denke ich...), wie man die Volltextsuche auf einen exakten Begriff beschränken kann.
      Dafür würde ich zuerst mittels "normaler" Volltext-Suche alle möglichen Datensätze abrufen (perl, get).
      In der while/get_next-Schlaufe käme ein perl-Befehl, der einen String (Feld) nach exaten werten durchsucht.
      Die Variable $Suchbegriff darf muss denn exakten Wert enthalten (z.B. "Marcel Muster"), ohne "+" und ",", aber mit Leerzeichen.
      Das wäre mein Vorschlag:

      $feld =~ m/$Suchbegriff/i; 
      

      Stimmt das so? Hab ich im Netz gefunden. Diese Anweisung soll einen Rückgabe-Wert haben, true wenn etwas gefunden wird.
      'Der Rückgabewert ist "wahr" ("true"), falls dies zutrifft, sonst "falsch" ("false"). Verwendet man anstelle von "=~" den Operator "!~", so ist der Rückgabewert genau entgegengesetzt: "true" bei erfolgloser Suche.'
      Wie kann ich diesen Rückgabewert abfragen? Bin (noch... :-)) kein Perl-Spezialist...
      Der jeweilige Eintrag würde dann nur erscheinen, wenn xxx true ist.

      Danke und Gruss

     Antworten


     
 Liste der Einträge von 57150 bis 57300: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.13s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!