• User

    MOtore di ricerca MySql

    Buongiorno,
    Dopo varie ricerche non ho concluso nulla allora provo a postare questo quesito.
    Tutti parlano di utilizzare gli indici full-text per gestire al meglio una ricerca di contenuti in un database MySql ma, come ben sappiamo, ciò non è possibile se le tabelle non sono di tipo MySam. Io, che provengo da una "scuola" di lavoro come programmattore As400 e anke un po' di Visual Basic utilizzo sempre le tabelle innodb per usifruire della relazione e dell'integrità dei dati.
    Qualcuno sa, oppure.. vogliamo aprire un discorso di come si può fare un buon motore di ricerca con il classico campo testuale in modo globale su un database anche se non si utilizza l'indice Full-Text ?

    Spero di avervi incitato e di averne reciproci vantaggi nella discussione che ne può venir fuori.
    Cordiali Saluti
    Gianfranco


  • User Attivo

    Utilizzando gli "score" e una tabella relativa?
    Cioè.. splitto le parole di ogni testo e le inserisco in una tabella (dove ovviamente non reinserisco quelle già presenti) e poi assegno degli score di pertinenza ai messaggi.

    Può essere una via??


  • User

    Buongiorno Socrate,
    Puoi essere più preciso? Cosa è uno score? Cosa intendi per tabella relativa? Io inzialmente avevo pensato ad una tabella generale di tipo mysam in cui definivo indici full-text e che venisse aggiornata ogni volta che si modificava qualcosa. Ma ciò significa duplicare, quasi, il volume del DB (a parte altra programmazione)


  • User

    Mi sembra di capire che è un argomento delicato oppure nessuno ne sa niente ? 🙂


  • User

    Mi tocca veramente fare una tabella che abbia indici full-text in cui riepilogo tutti i dati che mi intyeressa cercare?


  • User Attivo

    Ciao janfri,
    non so quanto ti possa essere utile ma anche io sto usando uno script per la ricerca nel database e questo accede ad una tabella con motore MyISAM.
    Ho letto anche io, poco fa in verità, che Innodb non accetta indici fulltext.
    Mi sembra una cavolata ma penso valga la pena tentare: perchè non fai un substring del valore passato nel campo di testo?