Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267

    LIKE %$stringa% su grandi testi

    vorrei un consiglio non tecnico dagli intenditori.
    ho la necessità di cercare una o due parole in una enorme quantità di campi di testo attraverso mysql.ogni singolo testo,di per se,non è lunghissimo (si attesta attorno a 1-2 kb).
    secondo la vostra esperienza, se io volessi ottenere dalla query i records che hanno quella key incorporata,dovrei usare direttamente nel campo

    select * where testo LIKE %stringa%

    oppure funziona meglio

    select * where %stringa% LIKE testo

    oppure è meglio una analisi postuma (tipo che prima ottengo il testo e poi lo elaboro per una analisi migliore (e se si,come?)

    insomma,dal punto di vista prestazionale e qualitativo (in termini di ricerca) che tipo di confronto mi conviene fare...
    anticipatamente grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Cercando la velocita', io farei come presumo facciano i forum. Prima di inserire il testo nel campo TEXT opportuno, ne isolo le parole (eliminando spazi, punteggiatura, virgole, etc). Bisogna eliminare di solito anche le parole con meno di 3 caratteri e le parole piu' comuni (tutti gli articoli, ad esempio).

    Dopodiche' crei una tabella indice delle parole con un campo "parola" e una foreign key che punta all'MESSAGE_ID (o quello che e'), e fai le tue ricerche su quelle.

    Ovviamente questo sistema e' adatto per un sistema come un forum, dove i messaggi (o testi) non vengono generalmente modificati, e sullo schema ottimale penso ci sia da discutere piu' di quanto sia in grado all'una di notte di sabato.

    Pur non avendo sottomano dati numerici, penso che questo sistema sia sempre piu' veloce di una ricerca FULLTEXT, specie se di tipo LIKE %xxxx%. Poi, ovviamente, dipende dai contesti.
    There are 10 types of people in the world - those who understand binary and those who don't.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    PS: non sono sicuro se e con quali engines MySQL supporti la ricerca su campi TEXT.
    There are 10 types of people in the world - those who understand binary and those who don't.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    in effetti la mia ricerca la faccio all'interno dei posts di un forum... credo che spulcerò la funzione di ricertca integrata per cavarne qualcosa

    grazie per le dritte

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.