Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL FULLTEXT-Abfrageproblem

Ein Volltextindex ist der falsche Ansatz für das, was Sie zu tun versuchen. Ihr spezielles Problem ist jedoch die minimale Wortlänge, die je nach Endung entweder 3 oder 4 (standardmäßig) beträgt. Dies wird in der Dokumentation erklärt , speziell hier .

Nachdem Sie den Wert zurückgesetzt haben, müssen Sie den Index neu erstellen.

Ich vermute, Sie versuchen, schlau zu sein. Sie haben wahrscheinlich schon den Rat gehört, "Listen von Dingen nicht in Zeichenfolgen mit Trennzeichen zu speichern". Aber Sie haben stattdessen "ah, aber ich kann einen Volltextindex verwenden" kontert. Sie können , obwohl Sie feststellen werden, dass komplexere Abfragen nicht sehr gut optimiert werden.

Mach es einfach richtig. Erstellen Sie die Assoziationstabelle user_skills mit einer Zeile pro Benutzer und pro Fertigkeit, die der Benutzer hat. Sie werden es einfacher finden, es in Abfragen zu verwenden, Duplikate zu vermeiden, Abfragen zu optimieren und so weiter.