+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: La funzione "Forse cercavi"

  1. #1
    L'avatar di Mastro_Benza
    Mastro_Benza non è in linea Novello
    Luogo
    Sanremo
    Post
    7

    La funzione "Forse cercavi"

    Devo sviluppare un sito con un motore di ricerca interno, che prende le descrizioni degli articoli in vendita da un database sequel.

    So che "Google suggest" è una delle peculiarità del famoso motore di ricerca, e che non sia proprio una cosa semplice svilupparlo, ma d'altra parte è una funzione fantastica! Qualcuno ha per caso realizzato un codice "simile"? (SENZA PRETESE! Dico "simile"!)

    Non pretendo niente di evoluto come c'è su Google, mi sarebbe più che sufficiente che il programma si accorgesse di una o massimo 2 lettere differenti/mancanti.

    Un esempio: rasaerba o tosaerba. La differenza è soltanto RA con TO. Mi sarebbe utile che il motore interno suggerisse "forse cercavi TOsaerba". Penso di essermi spiegato.

    Ripeto: mi bastano al massimo 2 caratteri di differenza o 1 carattere mancante. Niente di sofisticato come su Google. Più che altro sarebbe utile come "CORRETTORE DI BATTITURA" (anche perchè un cliente può pur sempre sbagliarsi a digitare una o 2 lettere).

    GRAZIE PER LE VOSTRE RISPOSTE!

  2. #2
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Luogo
    Messina - Italy
    Post
    7,172
    Blogs
    3
    Per ottenere quello che cerchi devi implementare una funzione che calcoli la distanza di Levenshtein.
    In pratica è un algorimo che permette di calcolare il grado di similitudine tra due parole.
    Implementandola potresti selezionare, nel caso in cui la ricerca con un termine non produca risultati, i termini con la distanza di Levenshtein più bassa.

    Una spiegazione con qualche implementazione la trovi qui: Distanza di Levenshtein - Wikipedia
    Mentre trovi l'implementazione in T-SQL (per SQLServer) qui: Distanza di Levenshtein in T-SQL e VB

    TheTruster
    Il Crossposting è vietato dalla Netiquette!




  3. #3
    L'avatar di Mastro_Benza
    Mastro_Benza non è in linea Novello
    Luogo
    Sanremo
    Post
    7
    domani ci dò un'occhiata, anche se dubito che sia una cosa semplice o di trovare un codicillo già pronto...come pensavo la vedo un po' dura, però apprezzo tantissimo la risposta perchè è molto interessante. Mi informerò appena avrò un attimo di tempo. Ora è mezzanotte e mezza, non è mai stato saggio programmare a quest'ora...

    GRAZIE MILLE, ti terrò aggiornato.

  4. #4
    L'avatar di Mastro_Benza
    Mastro_Benza non è in linea Novello
    Luogo
    Sanremo
    Post
    7
    Ora che leggo, sei stato davvero utile.

    GRAZIE MILLE!

    Adesso sta a me implementare il tutto... al max se avrò problemi farò un UP.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi