Suchindex erstellen, aber wie?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suchindex erstellen, aber wie?

    Hi zusammen

    Ich möchte auf einer Seite eine Suchfunktion einbauen und dafür einen Suchindex erstellen. Ich habe mir das so gedacht, dass wenn ein neuer Eintrag gemacht wird, sollen automatisch z.B. 15 beliebige Wörter herausgenommen werden und in einer Datenbank abgelegt werden. Ist das möglich? Kann ich einfach beliebige Wörter aus einem String nehemen? Wenn ja, wie.

    Ist das eine gute Idee oder gibt es einfachere oder bessere Lösungen für einen Suchindex.

    THX
    Figugegu
    Zuletzt geändert von figugegu; 11.12.2003, 19:28.

  • #2
    *VERSCHIEB* nach BS
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Toll, die Wörter könnten auch wie folgt lauten:

      dich, ich, du, wir, programmieren,...

      Ich bezweifle ob dir das was bringen würde...


      Aber gehen würde es:

      PHP-Code:
      $str explode(" "$str2);
      $cwords count($str);
      for(
      $i = -1$i 15$i++) {
       
      $rand rand(0$cwords); 
      PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

      Kommentar


      • #4
        ja vieleicht

        ...
        Aber wie mache ich dann sonst einen vernünftigen Suchindex? Manuell?

        Kommentar


        • #5
          warum suchst du nicht über die spalten, in denen die inhalte stehen
          oder
          nimmst FULLTEXT mit MATCH AGAINST => mysql-manual?

          wenn du aber partout so einen index aufbauen willst, kannst du auch so vorgehen:
          - text bereinigen (satzzeichen, slashes, etc raus)
          - mit explode() auf einem leerzeichen in ein array wandeln
          - mit array_unique() doppelte einträge löschen
          - mit shuffle() durcheinanderwürfeln
          -- oder über eine funktion nach wortlänge sortieren (längste begriffe zuerst)
          - die gewünschte anzahl wählen
          - eintragen
          Kissolino.com

          Kommentar


          • #6
            hmmm....

            erstmal danke für die Antworten.

            Meine Suche funktioniert zurzeit mit LIKE ohne Probleme.
            Ich habe eigentlich nur an einen Suchindex gedacht, weil ich beim Anzeigen der Such-Resultate eine Kurzbeschreibung mitgeben will. Dass sollte dann so aufgebaut sein:

            BLBLBLBLABLABAL
            -- Hier wird diese "Kurzbeschreibung" eingefügt --

            ______________________________

            .....

            ______________________________


            Wie generiert man sonst so eine Kurzbeschreibung des Suchresultetes?
            (Ich will ja nicht die ganze Seite anzeigen, sondern nur einen Ausschnitt)

            Vielen Dank
            Figugegu

            Kommentar


            • #7
              Sorry das mein letzter Post nicht ganz vollständig war, Computerproblem

              Du willst ne Beschreibung des Suchwortes machen?

              Du könntest ne Liste machen, mit häufig gesuchten Sachen, und dann überprüfen, ob das Word in der Liste drin ist.

              Ansonsten kannst du nichts machen, wenn ich dich richtig verstanden hab...
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Kommentar


              • #8
                OK, hab das ganze so gelöst
                PHP-Code:
                $searres wordwrap$r[1], 200"<teilen>"0);
                list(
                $ausgabe$rest) = split("<teilen>"$searres); 
                $ausgabe geht dan noch durch die "Reinigungsfunktion".
                Das funktioniert fabelhaft...

                Nun aber noch ein anderes Problem; da der Text geschnitten wird, kann es vorkommen, dass offene Tags vorhanden sind...
                Diese möchte ich nun in der "Reinigunsfunktion" noch ersetzten. Das ist mein Problem, wie mache ich das?

                so ähnlich?
                PHP-Code:
                $rd str_replace("\\[_a-zA-Z0-9-\\]","",$rd); 
                Vielen Dank

                OffTopic:
                gehört vieleicht nicht in dieses Forum, wollte aber nicht extra einen neuen Thread machen.

                Kommentar


                • #9
                  ??

                  noch was....

                  Hat jemand eine Idee, nach was ich Suchresultate, die ich mit LIKE ausgelesen habe, sortieren soll? Gibt es da gute möglichkeiten.

                  Es sind leider nicht die besten Resultate an oberster stelle...

                  THX

                  Kommentar

                  Lädt...
                  X