8 Stimmen

SQL Server Freetext-Abgleich - Wie sortiere ich nach Relevanz?

Ist es möglich, die Ergebnisse in SQL Server 2005 nach der Relevanz einer Freitextübereinstimmung zu ordnen? In MySQL können Sie die (ungefähr gleichwertige) MATCH-Funktion im Abschnitt ORDER BY verwenden, aber ich habe keine Entsprechung in SQL Server gefunden.

Desde el MySQL-Dokumente :

Für jede Zeile in der Tabelle gibt MATCH() einen Relevanzwert zurück, d.h. ein Ähnlichkeitsmaß zwischen dem Suchstring und dem Text in dieser Zeile in den in der MATCH()-Liste genannten Spalten.

So könnten Sie zum Beispiel nach der Anzahl der Stimmen, dann nach der Relevanz und schließlich nach dem Erstellungsdatum ordnen. Ist dies etwas, das getan werden kann, oder bin ich mit nur die Rückgabe der übereinstimmenden Werte und nicht mit dieser Bestellung Fähigkeit stecken?

4voto

Biri Punkte 6703

Wenn Sie Folgendes verwenden FREETEXTTABLE dann gibt es einen Spaltennamen zurück Rank also order by Rank sollte funktionieren. Ich weiß nicht, ob andere Freitext-Suchmethoden auch diesen Wert zurückgeben oder nicht. Sie können es ja mal versuchen.

2voto

Josef Punkte 7227

Beide FREETEXTTABLE y CONTAINSTABLE gibt die [RANK] Spalte, aber vergewissern Sie sich, dass Sie entweder die richtige Variante oder die Vereinigung beider Varianten verwenden, um alle geeigneten Ergebnisse zu erhalten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X