Hallo zusammen!
Ich versuche gerade eine Volltext-Suche über PHP zu realisieren.
Über 10 Input-Felder können Zutaten eingegeben werden, die dann mit den Zutaten von gespeicherten Rezepten abgeglichen werden.
Das funktioniert auch soweit:
$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)";
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 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?
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?
Vielen Dank schonmal!