Ankündigung

Einklappen
Keine Ankündigung bisher.

Wörter ignorieren mit match against

Einklappen

Neue Werbung 2019

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

  • Wörter ignorieren mit match against

    Hallo zusammen,
    Ich arbeite derzeit an einer Datenbankabfrage und arbeite erstmals mit Match Against. Die Datensätze haben eine Spalte die Tags enthalten, also Suchbegriffe.
    Nun kann ich mit
    Code:
    SELECT * FROM `table` MATCH (tags)
    AGAINST ('suchwort' IN BOOLEAN MODE)
    alle Datensätze anzaigen lassen, die den Tag 'Suchwort' enthalten. Wenn ich jetzt aber nach allen Datensätzen suchen will, die ein bestimmtes Wort nicht enthalten, dann bekomme ich nur ein leeres Resultat zurück.
    Code:
    SELECT * FROM `table` MATCH (tags)
    AGAINST ('-suchwort' IN BOOLEAN MODE)
    Ist glaube ich auch logisch, weil "Der Operator - schließt nur solche Datensätze aus, die andernfalls Bestandteil des Ergebnisses wären."
    In der Praxis ist so eine Abfrage vermutlich auch relativ sinnlos, aber der User könnte eine Entsprechende Suche starten und ich will möglichst viele Freiheiten bei der Suche geben.
    Deswegen, gibt es eine Möglichkeit mit Match against alle Ergebnisse ohne ein bestimmtes Wort anzeigen zu lassen?


  • #2
    Mit -suchbegriff sollte das eigentlich funktionieren... Volltextindex ist sicher auch gesetzt, sonst hättest du schnell eine entsprechende Fehlermeldung bekommen.
    Welche mysql-version nutzt du denn?
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar

    Lädt...
    X