Re: Volltextsuche - Überlegungen - 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 Christoph Bergmann (8110 Beiträge) am Montag, 30.August.2004, 11:54.
    Re: Volltextsuche - Überlegungen

      Stimmt ;-) So is richtig:

      $Text=~ s#($suche)#'<a href="lexikon/lexikon_popup&Thema_ueber=='.$words{$1}.'">'.$1.'</a>' #gie;
      


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von UweS (220 Beiträge) am Donnerstag, 26.August.2004, 12:50.
    Volltextsuche - Überlegungen

      Tach zusammen!

      Ich mache mir schon länger Gedanken über ein ein (von vielen Kunden gewünschtes) Problem:

      Texte die aus Datenbanken ausgegeben werden (einzelne Felder) sollten auf Stichwörter (Lexikon) untersucht werden und mit einem entsprechenden Link versehen werden.
      z.B.
      <a href..lexikon&link=Hallo>Hallo</a> Welt!
      
      mit Link auf Hallo im Lexikon. (z.B. Wikipedia.org)

      Ich werde mir nur über die Vorgehensweise nicht klar:
      - Durchsuche ich den Text Wort für Wort auf das Vorkommen im Lexikon? (1000 Wörter=1000 mal get = Server tot).
      - Oder hole ich alle Themen aus dem Lexikon und vergleiche es dann?
      - Ist es überhaupt mit BP in entsprechender Ausführungszeit zu ermöglichen?

      Hat jemand schon mal sowas gemacht?

      <Danke schon mal.> 
      

      UweS

      PS: Ich mag BP! *g*

     Antworten

    Beitrag von UweS (220 Beiträge) am Donnerstag, 26.August.2004, 12:52.
    Anmerkung

      Ich meine damit natürlich eine BP Lexikon DB auf dem gleichen Server...

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 27.August.2004, 21:47.
    Re: Volltextsuche - Überlegungen

      so richtig verstehe ich nicht genau, was du willst - geht das nicht mit der Volltextsuche?
      Also Volltextsuche nach einem Stichwort, dann den Link mit dem Stichwort nach den Richtlinien der Suchseite zusammenbauen und halt entsprechend hervorheben, ist in der Doku zu Miete/Lizenz ein recht gutes Beispiel als Umbau-Gerüst drin.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 28.August.2004, 15:45.
    Re: Volltextsuche - Überlegungen

      Auf jeden Fall die 2. Überlegung machen: Alles in einem Rutsch holen und dann ersetzen, ca. so:

      <loop db=lexikon code=perl>
      $words{$Wort}=$_id;
      $suche.="$Wort|";
      </loop>
      

      <perl>
      chop $suche;
      # ... felder holen ...
      

      $Feld=~ s#($suche)#'<a href="baseportal.pl?htx=/name/lexikon&Id=='.$words{$1}.'">$1</a>'#gie;
      out $Feld;
      </perl>
      


      in dem "loop" wird das lexikon intern aufgebaut und bei dem $Feld=~ ... wird das dann entsprechend ersetzt... Dann brauchst Du noch eine Seite "lexikon" in der eben der gewählte Begriff ausgegeben wird, z.b einfach mit <do action=all>

      ungefähr klar?

      Ob es von der Ausführungszeit Probleme gibt, hängt von der Anzahl der Begriffe im Lexikon und von der Grösse von $Feld ab... Wenn Du eine Mietversion hast, schau einfach mit "out runtime;" am Ende, wie lange das ganze gebraucht hat...

     Antworten

    Beitrag von UweS (220 Beiträge) am Montag, 30.August.2004, 11:38.
    Re: Volltextsuche - Überlegungen

      Ich lag zwar mit "Volltextsuche" ein bisschen falsch, das ist aber genau das was ich haben wollte.

      Nur:

      $Text=~ s#($suche)#'<a href="lexikon/lexikon_popup&Thema_ueber=='.$words{$1}.'">$1</a>' #gie;
      

      gibt als Link nicht das Wort, sonderm "$1" aus. Da mir das noch ein bisserl zu viel Perl ist - wo muss ich schrauben?

      <Danke>
      

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 30.August.2004, 11:54.
    Re: Volltextsuche - Überlegungen

      Stimmt ;-) So is richtig:

      $Text=~ s#($suche)#'<a href="lexikon/lexikon_popup&Thema_ueber=='.$words{$1}.'">'.$1.'</a>' #gie;
      

     Antworten

    Beitrag von UweS (220 Beiträge) am Montag, 30.August.2004, 12:07.
    Re: Volltextsuche - Überlegungen

      Was ein Punkt alles ausmacht...

      Ein Problem hab ich noch: Der richtig angezeigte Link hat nur beim ersten Mal die richtige Id danach ist diese leer.

      ?

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 30.August.2004, 14:30.
    Re: Volltextsuche - Überlegungen

      Es waren 2 Punkte und 2 ' ;-)

      Gib mal nen Link zur Ausgabe...

     Antworten

    Beitrag von UweS (220 Beiträge) am Montag, 30.August.2004, 14:46.
    Re: Volltextsuche - Überlegungen

      hier der Link

      http://stahl-chempower.de/baseportal/test

      und nochmal der Code:

      ...
      <loop db=lexikon/lexikon code=perl>
      $words{$Thema}=$_id;
      $suche.="$Thema|";
      </loop>
      
      ...
      chop $suche;
      $Text=~ s#($suche)#'<a class=underline href="lexikon/lexikon_popup&Thema_ueber=='.$words{$1}.'">'.$1.'</a>' #gei;
      
      ....

      Danke
      Uwe

      PS: Die Flags g und i sind mir ja bekannt aber die Funktion von e hab ich nicht ergooglen können...

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 30.August.2004, 16:07.
    Re: Volltextsuche - Überlegungen

      e heisst: Code ausführen, statt ersetzen - ohne das würde '<a class=... genauso ersetzt werden...

      Wobei mir grade auffällt, dass es das garnich gebraucht hätte;-)

      $Text=~ s#($suche)#<a class=underline href="lexikon/lexikon_popup&Thema_ueber==$words{$1}">$1</a>#gi;
      

      allerdings - doch wieder braucht, weil der Grund warum das mit der Id bei "Non" hinhaut und bei "non" nich, hat offensichtlich was mit gross/kleinschreibung zu tun, also:

      $Text=~ s#($suche)#'<a class=underline href="lexikon/lexikon_popup&Thema_ueber=='.$words{lc($1)}.'">'.$1.'</a>'#gei;
      

      --> dann musst du allerdings alle Begriffe in Deinem Lexikon klein schreiben...

      Wenn Du das nich magst, dann musst Du bei allen Begriffen den 1. Buchstaben gross schreiben und

      $Text=~ s#($suche)#'<a class=underline href="lexikon/lexikon_popup&Thema_ueber=='.$words{ucfirst($1)}.'">'.$1.'</a>'#gei;
      

      verwenden... klar? ;-)

     Antworten

    Beitrag von UweS (220 Beiträge) am Dienstag, 31.August.2004, 09:40.
    Fertig!

      Vielen Dank für die Hilfe! *freu*

      Hab einfach das i - Flag rausgelassen, somit sucht er nur genaue Wörter und ich hab kein Link Problem.

      $Text=~ s#($suche)#<a class=underline href="lexikon/lexikon_popup&Thema_ueber==$words{$1}">$1</a>#ge; 
      

      <Danke>

      Uwe

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 31.August.2004, 14:12.
    Re: Fertig!

      Dann solltest Du das "e"-Flag hinten auch weglassen ;-)

      Wenn Du doch gross/klein-unabhängig sein willst, schaut die richtige Lösung übrigens komplett so aus:

      <loop db=lexikon/lexikon code=perl>
      $words{lc($Thema)}=$_id;
      $suche.=lc($Thema)."|";
      </loop>
       
      
      ...
      chop $suche;


      $Text=~ s#($suche)#'<a class=underline href="lexikon/lexikon_popup&Thema_ueber=='.$words{lc($1)}.'">'.$1.'</a>' #gei;
      



      ;-)

     Antworten

    Beitrag von UweS (220 Beiträge) am Dienstag, 31.August.2004, 15:58.
    Re: Fertig!

      Geändert und glücklich!
      <THX>
      

     Antworten


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