• User Attivo

    Come costruisco un campo di ricerca attendibile con pertinenza?

    Buon giorno a tutti,
    mi trovo a dover creare una funzioncina che permetta di cercare del testo in un DB.
    Quello che a me più interessa di ogni cosa è avere una pertinenza attendibile.
    Ovvero se io ho un determinato testo all'interno del DB e una chiave inserita tramite form, vorrei poter ottenere una pertinenza attendibile tra la chiave cercata e le pertinenze effettivamente trovate.
    Come posso impostare la query?


  • User Attivo

    Cosa intendi con "pertinenza attendibile"???
    Che il risultato contenga semplicemente stringa cercata o altro?
    Se la risposta è altro dovresti essere più specifico nell'indicare il contesto ed i dati che stai trattando.


  • User Attivo

    Nel senso che se io ho un campo DB contenente questa stringa:
    Questo è un campo, contenente! punteggiatura messa a? caso .

    Vorrei semplicemente avere una pertinenza tra quello che io scrivo e quello che effettivamente c'è nel DB.
    Avevo pensato di usare MATCH/AGAINST ed ho visto che non fa altro che resituire il numero di parole trovate.
    Secondo voi sarebbe affidabile una pertinenza basata su n° parole_trovate / n° parole_totali ?
    O c'è qualcosa di migliore?

    Ah, una cosa importante: come faccio ad estrarre (ecco spiegato l'esempio con la punteggiatura) solo le parole dal campo del DB e non tutte le varie punteggiature?


  • User Attivo

    La punteggiatura puoi sostituirla con un espressione regolare.

    Il numero di pertinenze trovate in un campo del database possono essere utilizzate eventualmente per ordinare i risultati prodotti da una normale query.


  • User

    Quanto più parole uguali ci sono tra quello che l'utente cerca e quello che è presente nel db tanto più è migliore la ricerca e c'è più possibilità che l'utente stia cercando proprio quello.
    Il metodo da te menzionato è buono per effettuare una cosa del genere (MATCH/AGAINST).


  • User Attivo

    @Longo8 said:

    Quanto più parole uguali ci sono tra quello che l'utente cerca e quello che è presente nel db tanto più è migliore la ricerca e c'è più possibilità che l'utente stia cercando proprio quello.
    Il metodo da te menzionato è buono per effettuare una cosa del genere (MATCH/AGAINST).
    Era quello che avevo in mente all'inizio.
    Volevo solo un parere sull'efficienza di questa cosa


  • User

    Bè potresti fare la prova con un'interrogazione tramite l'operatore LIKE e una con il metodo MATCH/AGAINST...quella che soddisfa meglio le tue richieste sarà quella che reputerai migliore in quel caso 😉