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

Wie kann ich MySQL-Volltextsuchergebnisse nach Relevanz sortieren?

DDD
DDDOriginal
2024-11-03 02:19:29931Durchsuche

How can I sort MySQL fulltext search results by relevancy?

MySQL-Volltextsuchergebnisse nach Relevanz sortieren

Bei der Arbeit mit MySQL ist es für eine genaue Ergebnissortierung wichtig, den Unterschied zwischen LIKE und Volltextsuche zu verstehen.

In der bereitgestellten Abfrage:

$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";

Der LIKE-Operator wird für die Teilübereinstimmung und nicht für die Volltextsuche verwendet. Um eine Volltextsuche durchzuführen, verwenden Sie die Syntax MATCH(...) AGAINST(...).

Zum Beispiel:

$query="SELECT * from `vocabulary` WHERE MATCH(translation) AGAINST('+word')";

Die MATCH-Funktion gibt einen Übereinstimmungswert zurück, der sein kann als Näherungswert für die Relevanz verwendet. Dieser Score kann zur Sortierung der Ergebnisse verwendet werden. Beispiel:

$query="SELECT *, MATCH(translation) AGAINST('+word') AS score FROM `vocabulary` ORDER BY score DESC";

Diese Abfrage sortiert die Ergebnisse nach Relevanz, wobei die Übereinstimmungen mit der höchsten Punktzahl zuerst angezeigt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Volltextsuchergebnisse nach Relevanz sortieren?. 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