Query di ricerca con rank con MSSQL 2005

mercoledì 17 dicembre 2008 - 16.33

alba Profilo | Newbie

ciao a tutti, vorrei migliorare la query che utilizzo per l'estrazione di records secondo determinati criteri. Al momento la query effettua una selezione facendo:
SELECT nome, cognome FROM anagrafiche WHERE cerca LIKE '%rossi%'

in cui il campo "cerca" e' l'unione dei campi nome+cognome ripuliti da tutti i caratteri come, spazi, accenti ecc...
Ad esempio
NOME COGNOME CERCA
mario rossi mariorossi
giuseppe dell'acqua giuseppedellacqua

La limitazione di questa soluzione e' che se ad esempio cerco: "rossi mario" il record non verra' trovato

Quello che vorrei e' sfruttare un meccanismo di rank in cui il ritorno avviene sulla base di un valore "soglia", e' possibile farlo con sql server 2005?
grazie

lbenaglia Profilo | Guru

>Quello che vorrei e' sfruttare un meccanismo di rank in cui il
>ritorno avviene sulla base di un valore "soglia", e' possibile
>farlo con sql server 2005?
Si, definendo un indice full text e ricorrendo alle funzioni CONTAINSTABLE e FREETEXTTABLE.
Sui Books Online troverai tutti i dettagli.

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5