MySQL order by Relevanz
Ich habe ein Suchformular die Suche ein Website-content-Tabelle zurück zu ziehen entsprechende Ergebnisse.
Will ich Suche den Titel und den Inhalt von Feldern und ziehen die Ergebnisse in der Reihenfolge der Relevanz. Geben oberste Priorität, um den Titel.
Sagen, wir hatten einen Tisch (tblContent) von
intID | strTitle | txtContent
1 | Smith John | Lorem Ipsum
2 | Lorem Ipsum | Lorem John Smith Ipsum
3 | John Smith | Lorem Ipsum Lorem Ipsum
4 | Lorem Ipsum | Lorem Ipsum Lorem Ipsum
5 | Lorem Ipsum | Lorem Ipsum Smith John
Und Sie waren auf der Suche nach "John Smith" die Ergebnisse sollten wieder in der Reihenfolge der 3,2,1,5
Wie ist das möglich?
- Wie groß ist die Tabelle?
- ~150 Zeilen zurzeit. Es ist ein ziemlich kleiner Ort-also niemals in die Nähe auch 1k Zeilen
- Finden Sie, dass es vielleicht helfen könnte: stackoverflow.com/a/35512410/1673161
- Eine gute Erklärung des multi-index Relevanz, Lösung hier: stackoverflow.com/questions/547542/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schaffte ich es, ziemlich spot on mit dieser:
mysql-Volltextsuche ist eine gute Sache, aber es hat eine Altersgrenze von mindestens 4 Zeichen Wort indiziert werden. Al hart die Grenze kann geändert werden, aber eine änderung der server-Variablen ist nicht möglich, in allen Szenarien.
In einer solchen situation sind, empfehle ich die vorgeschlagene Lösung, um von Fall
Wahrscheinlich gibt es eine effizientere Art und Weise und angesichts der such-string könnte sein, mehr als 2 Worte, dies ist wahrscheinlich nicht machbar, aber ich würde etwas tun, wie
Was etwas entlang der Linien von