Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

FREETEXT-Abfragen in SQL Server 2008 stimmen nicht mit Phrasen überein

Wie Sie sagten, FREETEXT schlägt jedes Wort in Ihrem Satz nach, nicht den Satz als Ganzes. Dafür müssen Sie den CONTAINS verwenden Aussage. So:

SELECT Description  
FROM Projects   
WHERE CONTAINS(Description, '"City Hall"')

Wenn Sie den Rang der Ergebnisse erhalten möchten, müssen Sie CONTAINSTABLE verwenden . Es funktioniert ungefähr gleich, aber es gibt eine Tabelle mit zwei Spalten zurück:[Key], die den Primärschlüssel der Suchtabelle enthält, und [Rank], die Ihnen den Rang des Ergebnisses gibt.