Heim  >  Artikel  >  Datenbank  >  Wie ordne ich MySQL-Volltextsuchergebnisse nach Relevanz?

Wie ordne ich MySQL-Volltextsuchergebnisse nach Relevanz?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-05 07:21:02276Durchsuche

How to Order MySQL Fulltext Search Results by Relevance?

Wie ordne ich MYSQL-Volltextsuchergebnisse nach Relevanz?

Frage:

Wie mache ich MYSQL-Volltextsuchergebnisse nach Relevanz ordnen, genaue Übereinstimmungen priorisieren und Teilübereinstimmungen alphabetisch sortieren?

Antwort:

Um eine Volltextsuche in MYSQL durchzuführen, verwenden Sie die Funktion MATCH(. ..) AGAINST(...)-Konstrukt anstelle des LIKE-Operators. MATCH(...) AGAINST(...) gibt für jedes Ergebnis einen Relevanzwert zurück, der zum Sortieren der Ergebnisse nach Relevanz verwendet werden kann.

Hier ist eine modifizierte Abfrage, die die Volltextsuche verwendet und die Ergebnisse nach sortiert Relevanz:

SELECT * FROM `vocabulary`
WHERE MATCH(`translation`) AGAINST ('word')
ORDER BY MATCH(`translation`) AGAINST ('word') DESC;

Diese Abfrage gibt zuerst Ergebnisse mit einer genauen Übereinstimmung zurück, gefolgt von Teilübereinstimmungen, sortiert in absteigender Reihenfolge der Relevanz.

Beispiel:

Betrachten Sie die folgende Vokabeltabelle:

id translation
1 word
2 crossword
3 words
4 wordsmith

Das Ausführen der obigen Abfrage mit dem Suchbegriff „Wort“ würde die folgenden Ergebnisse sortiert nach Relevanz zurückgeben:

id translation
1 word
2 crossword
3 words
4 wordsmith

Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Volltextsuchergebnisse nach Relevanz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn