SQL Server-Freetext-Übereinstimmung - Wie sortiere ich nach Relevanz?

8

Ist es möglich, Ergebnisse in SQL Server 2005 nach der Relevanz einer Übereinstimmung für einen freien Text zu sortieren? In MySQL können Sie die (ungefähr äquivalente) MATCH-Funktion im ORDER BY-Abschnitt verwenden, aber ich habe in SQL Server keine Äquivalenz gefunden.

Aus der MySQL-Dokumentation :

  

Für jede Zeile in der Tabelle gibt MATCH () einen Relevanzwert zurück; Das ist ein Ähnlichkeitsmaß zwischen der Suchzeichenfolge und dem Text in dieser Zeile in den Spalten, die in der Liste MATCH () aufgeführt sind.

So könnten Sie zum Beispiel nach der Anzahl der Stimmen, dann nach dieser Relevanz und schließlich nach dem Erstellungsdatum sortieren. Ist das etwas, das getan werden kann, oder bin ich dabei, nur die passenden Werte zurückzugeben und diese Ordnungsfähigkeit nicht zu haben?

    
Cebjyre 10.09.2008, 06:56
quelle

2 Antworten

4

Wenn Sie FREETEXTTABLE verwenden, wird der Spaltenname Rank zurückgegeben, damit order by Rank funktioniert. Ich weiß nicht, ob andere Freitextsuchmethoden auch diesen Wert zurückgeben oder nicht. Sie können es versuchen.

    
Biri 10.09.2008, 07:01
quelle
2

Sowohl FREETEXTTABLE als auch CONTAINSTABLE geben die Spalte [RANK] zurück, aber stellen Sie sicher, dass Sie entweder die richtige Variante oder beide verwenden, um alle passenden Ergebnisse zu erhalten.

    
Josef 12.09.2008 02:19
quelle