Remember me - Lost password?
merlinox : about 2 years ago
#sqlserver Come si fa una query per fare ricerca su un testo e che mi restituisca un indice di approssimità? Tipo devo verificare che un nome non esista già in un DB, scritto corretto o simile.
from Sono solo un Merlinox! in sqlserver - 25 replies
merlinox
capobecchino : about 2 years ago
sql server ha "soundex"?
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
I don't know!
from Sono solo un Merlinox! - detail
capobecchino : about 2 years ago
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
grazie capo! valuto immediatamente!
from Sono solo un Merlinox! - detail
merlinox : about 2 years ago
Per capire ho fatto questo:
SELECT DESC1, soundex(desc1) as valore1
FROM articoli
ORDER BY soundex(desc1)

Ma se dovessi fare un ricerca del tipo "forse cercavi questo..." dovrei filtrare solo i 3 numeri, escludendo la prima lettera?
from Sono solo un Merlinox! - detail
capobecchino : about 2 years ago
perchè escludendo la prima lettera? ma fai un esempio concreto che forse ce sta qualche altra cosa invece di soundex
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
Mi sa che la strada migliore sono gli indici full text... http://database.html.it/artico...
from Sono solo un Merlinox! - detail
capobecchino : about 2 years ago
boh! se non so cosa devi fare è difficile
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
fa conto una cosa simile al "forse cercavi" di google, applicato all'inserimento di vagabondi!
from Sono solo un Merlinox! - detail
m3c__ : about 2 years ago
Mi intrufolo dato che mi servirebbe una roba simile e penso di aver capito la necessità di Merlinox. L'idea è di un sistema che ti proponga risultati simili alla tua ricerca. Ad esempio, può essere che l'utente scriva "apobbecchino" per un errore di battitura... e allora il sistema dovrebbe dirgli "nessun risultato trovato per la query corrente. forse cercavi "capobecchino"? una roba simile
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
è questo che vuoi?
from Sesto San Giovanni, IT - detail
akash : about 2 years ago
la ricerca fulltext l'ho usata un paio di anni fa su un db mysql. ma l'ho usata per dare la pertinenza in percentuale al risultato della query.
from Torino.... di nuovo! - detail
merlinox : about 2 years ago
esatto è proprio quello! solo che ho sql server di base.
from Sono solo un Merlinox! - detail
capobecchino : about 2 years ago
scusa e non puoi usare un semplice LIKE
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
Se uno vuole inserire "la tana del lupo" e invece il locale si chiama "la tana dei lupi" ... voglio vedere come fai con la like. e io invece devo dirgli "ehi sicuro che non sia questo, che è già inserito?". Un po' come fanno anche su Get Satisfaction e simili.
from Sono solo un Merlinox! - detail
capobecchino : about 2 years ago
allora è soundex
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
Ho provato a vederlo ma proprio non riesco a capire come usarlo. Nella mia ignoranza la soluzione sembra il full index.
from Sono solo un Merlinox! - detail
m3c__ : about 2 years ago
Se non ho capito male soundex valuta l'assonanza fonetica fra due parole... solo che lo fa con il vocabolario inglese a quel che leggo.

Full index splitta le parole della ricerca e le cerca ad una ad una... ma se uno cerca lupi e l'altro lupo, le valuta come due parole diverse. Funziona solo con le frasi, dove anche se sbagli una parola ci sono le altre a determinare la somiglianza.

Questo, a quanto ho appreso ora su google
from nato a Locarno - vivo a Pantelleria - detail
capobecchino : about 2 years ago
soundex(frase) ti fornisce un valore che è simile ad altri ... quindi ti prendi il soundex(ricerca effettuata) e lo confronti con soundex(frase in db) e ti fornisci un range d'errore ..
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
@m3cstyle Ci sono molte più funzioni. Leggi il link di html.it che ho postato
@capobecchino Io non ho trovato la funzione che valuta il confronto tra 2 soundex.
from Sono solo un Merlinox! - detail
capobecchino : about 2 years ago
scusa il confronto lo fai direttamente con il risultato di soundex ...
from Sesto San Giovanni, IT - detail
merlinox : about 2 years ago
None. Lo fai con Difference(). Peccato però che il livello di "tolleranza" è su 4 valori... pochetti. Ecco l'esempio:
SELECT desc1, difference(desc1,'lampada') FROM articoli ORDER BY difference(desc1,'lampada') DESC
from Sono solo un Merlinox! - detail
akash : about 2 years ago
@merlinox : ma la distanza di levenshtein?
qui ho trovato la funzione su php,
http://us2.php.net/manual/en/f...

qui ho troato anche una guida con esempio live
http://codesnippet.altervista....
from Torino.... di nuovo! - detail
merlinox : about 2 years ago
@akash sono cose da fare a livelli di db. farle in php (o altro linguaggio) significa caricare in memoria tutti i dati. Impensabile... al più di un numero esiguo di record.
from Sono solo un Merlinox! - detail
akash : about 2 years ago
allora full text o come dice @capobecchino soundex (ma non conosco)
from Torino.... di nuovo! - detail
New to meemi?
Join now to quickly and easily way

Problem? Rigenerate new code
By clicking the button, you agree all terms of service