
 August 28, 2019 12:51 by 
 Peter
 PeterOnceSQL  Server Full-Text Search with rank values  I wrote a post titled  enabling Fulltext search in Azure SQL database discussing Full-Text  search in Azure. while using it with one of my databases, needed to show  the result of the search ordered by however well they match to the  search criteria. in order to sort the result as i need, the best is, get  a rank generated for every row and use it for ordering the result. I  had used Freetext operate for obtaining the result but if i realized  that this can not be achieved using the Freetext function.

The  CONTAINSTABLE and FREETEXTTABLE functions return a column named Rank for  showing the rank related to the record based on matching. this can be  used get the result sorted based on it, showing most relevant records at  the top. Remember, the higher value of the Rank generated indicates the  best matching.
Now, write the following code:
view plainprint?
    -- Creating a table  
    CREATE TABLE dbo.EmployeeDetails  
    (  
     EmployeeDetailsId int identity(1,1) not null  
     , constraint pk_EmployeeDetails primary key (EmployeeDetailsId)  
     , WorkingExperience nvarchar(4000) not null  
     , ProjectsWorked nvarchar(4000) not null  
     , Resume nvarchar(max)   
    )  
    GO  
      
    CREATE FULLTEXT CATALOG EmployeeCatelog;  
    GO  
      
    CREATE FULLTEXT INDEX ON dbo.EmployeeDetails   
     (WorkingExperience, ProjectsWorked, Resume) KEY INDEX pk_EmployeeDetails  
     ON EmployeeCatelog;  
     -- By default CHANGE_TRACKING = AUTO  
      
      
    -- Once enabled, search can be performed;  
    SELECT *  
    FROM dbo.EmployeeDetails  
    WHERE freetext ((WorkingExperience, ProjectsWorked, Resume), 'SQL');  
      
    SELECT *  
    FROM dbo.EmployeeDetails  
    WHERE freetext ((Resume), 'SQL');  
      
    -- Get the rank and sort the result using it  
    SELECT t.Rank, e.*  
    FROM dbo.EmployeeDetails e  
     INNER JOIN CONTAINSTABLE (dbo.EmployeeDetails, (WorkingExperience, ProjectsWorked, Resume), 'SQL') AS t  
      ON e.EmployeeDetailsId = t.[Key]  
    ORDER BY t.Rank DESC  
HostForLIFE.eu SQL 2016 Hosting
European   best, cheap and reliable ASP.NET hosting with instant activation.   HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European   Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and   Performace. HostForLIFE.eu security team is constantly monitoring the   entire network for unusual behaviour. We deliver hosting solution   including Shared hosting, Cloud hosting, Reseller hosting, Dedicated   Servers, and IT as Service for companies of all size.
