Suchabfrage

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

  • Suchabfrage

    Hallo,

    wie schon oben geschrieben brauche ich mal wieder hilfe!

    Ich habe eine Mysql Table mit der Spalte (Artikel).
    Dort stehen ca. 20.000 Artikelnamen drin. (Druckernamen).

    z.B.
    HP OfficeJet J 3600 Series black
    Epson Stylus CX 3600 Cyan
    Canon Pixma IP 3600 magenta
    Konica Minolta Minoltafax 3600 usw.

    ich benutze die FULLTEXT SEARCH von Mysql in meinem Script.
    Wenn ich also im Inputfeld (hp 3600) eingebe, werden mir auch die anderen Drucker mit ausgegeben.

    Ich würde aber gerne nur das angezeigt bekommen, was ich eingegeben habe (hp 3600).

    Also alle HP 3600 Drucker.

    Ich suche nun schon die ganze Zeit bei Google und habe leider keine Lösung finden können.

    $result = mysql_query("SELECT * FROM `data` WHERE MATCH (MPN, Artikel) AGAINST ('%".$s."%') ORDER BY ".$sort."") or die (mysql_error());

    Ich danke schon einmal für eure Hilfe!

  • #2
    Die Volltextsuche ist für große Texte gedacht und nicht für kurze Produktnamen. Arbeite einfach mit LIKE.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Jedes „Wort“ kürzer als vier Buchstaben ist für MySQLs Volltextsuche ein “stop word”, wird also nicht indiziert. (Default-Einstellung - mit Zugriff auf die Server-Administration zwar änderbar, aber dann kannst du die Performance vergessen.)

      Die Volltextsuche ist also für so einen Fall – Artikel-Bezeichnungen, die gerne mal kurze Buchstaben-Kombinationen enthalten – denkbar ungeeignet.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar

      Lädt...
      X