Tach auch Max,
$abfrage = "SELECT * FROM rezepte
WHERE MATCH zutat1,zutat2,zutat3,zutat4,zutat5,zutat6,zutat7,zutat8,zutat9,zutat10)
AGAINST ('$zutat1, $zutat2, $zutat3, $zutat4, $zutat5, $zutat6, $zutat7, $zutat8, $zutat9, $zutat10' IN BOOLEAN MODE)";
Da scheint die Datenhaltung aber nicht so brillant definiert worden zu sein. Redundantes Mehl kommt sehr häufig vor... Was machst Du denn mit Rezepten, die mehr als zehn Zutaten haben? Bei weniger Zutaten schleppst Du viel leere Felder mit.
Allerdings möchte ich keine Boolsche-Volltextsuche verwenden, weil dabei nicht automatisch nach absteigender Relevanz sortiert wird. Sobald ich aber "IN BOOLEAN MODE" aus der Abfrage entferne, bekomme ich kein Suchergebnis mehr.
Dies könnte, soweit ich das verstanden habe, daran liegen, dass ich für die Spalten keinen gemeinsamen FULLTEXT-Index erstellt habe
Genau!
und hier weiß ich nicht weiter:
Legt man in phpMyAdmin einen solchen Index an, muss man jeweils rechts neben dem Feld, das indiziert werden soll, eine Größe eingeben.
Um was für eine Größe handelt es sich dabei?
Es handelt sich um die Index-Größe (Da war doch mal was), was aber nicht zwingend ist. Will sagen: Setze Deinen Index und gut ist.
Eine weitere Unsicherheit habe ich hier:
In der deutschen Mysql-Dokumentation steht, dass sich FULLTEXT-Indices nur für CHAR-, VARCHAR- und TEXT-Spalten erstellen lassen. Gehören Felder vom Typ TINYTEXT dann nicht dazu?
Maik
Maik. W. aus E. sagt Dankeschön ;-)