Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1

    sql per motore di ricerca

    Ciao a tutti.
    Vorrei fare una query che non sia un semplice LIKE '%keyword%'.
    Infatti questa query non lascia margine di errore all'utente.
    Avevo pensato di eliminare gli l'ultimo carattere, o forse due, dalla keyword inserita, giusto per evitare singolari, femminile, maschile ecc... ma poi ho pensato che l'utente potrebbe anche sbagliare a digitare, tipo:

    search -> 'crnevale'
    vorrei restituisse il record in cui esiste la parola 'carnevale'.

    In php c'e' la funzione similar_text che restituisce una percentuale di somiglianza. E' perfetta, ma non posso mica recuperare tutti i record e applicare la funzione a una row per volta!

    Quindi ho visto che in SQL c'e' anche LEVENSHTEIN_RATIO, ma non ho mica capito come usarla!

    grazie infinite!

  2. #2

  3. #3
    cavoli sorry!!!
    come faccio a modificare il titolo?

    non mi fa andare in modifica!

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Quote Originariamente inviata da zoc Visualizza il messaggio
    cavoli sorry!!!
    come faccio a modificare il titolo?

    non mi fa andare in modifica!

    qui fanno una domanda simile alla tua... http://stackoverflow.com/questions/1...pare-2-records

  5. #5
    grazie!
    ho visto dal tuo link che la LEVENSHTEIN_RATIO si puo usare dentro un sql in questa maniera:

    WHERE levenshtein_ratio(itemkey.item, paypal_ipn_orders.item_name) > 75

    ma a pensarci bene, applicare e tutti i record questa funzione, potrebbe essere troppo dispendioso...
    quindi penso che faro' una query con like normale, magari levando sulla keyword di ricerca l'ultima lettera della parola ( per i singolari, maschili ecc... ) e poi su questo numero ridotto applico la similar_text dove se maggiore di N viene accettata come risposta.

    ciao ciao

  6. #6
    e invece mi sono accorto che cosi non e' giusto...
    perche' se appunto cerco "canevale" non mi potra' mai restituire l'uguaglianza con "carnevale"...
    quindi bisogna applicare la LEVENSHTEIN_RATIO alla query...
    La tabella su cui lancio la query e' di circa 1000 record, con possibilita' di ampliamento...
    devo fare diversi test per capire se il server accusa troppo.


  7. #7
    quando cerco di utilizzare la funzione mysql mi restituisce questo errore:

    FUNCTION test.levenshtein_ratio does not exist

    fa forse fatto un include della funzione perche' non esiste di default?
    avete per favore un esempio?

    grazie mille!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Quote Originariamente inviata da zoc Visualizza il messaggio
    quando cerco di utilizzare la funzione mysql mi restituisce questo errore:

    FUNCTION test.levenshtein_ratio does not exist

    fa forse fatto un include della funzione perche' non esiste di default?
    avete per favore un esempio?

    grazie mille!
    http://falseisnotnull.wordpress.com/...ons-for-mysql/

  9. #9
    ciao mydb,
    avevo gia guardato quella pagina, ma in realta', vista la mia poca esperienza in quanto a sql avanzato, non e' che ci avessi capito molto.
    Cioe' tutto quello script sql va lanciato durante la sessione? si installa da qualche parte e poi la si riutilizza?
    portate pazienza!!!

    grazie ancora!

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    tralasciando per un attimo la funzione...

    stavo pensando, una cosa del genere non ti piace : LIKE '%c%a%r%n%e%v%a%l%e%'
    dato che % puo' indicare zero o N caratteri

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.