MySQL, indici FullText e la lunghezza delle strighe

Data: 5 Ottobre 2007
Autore: Maurizio Pelizzone

Avete mai provato a cercare su un indice FullText con una stringa sotto i 4 caratteri ?

select * from tabella where match (nomecampo) against (’abc’);

Bhe, io dopo essere diventato scemo, ho scoperto che per default la lunghezza minima è impostata a 4 caratteri.

MySQL, indici FullText e ricerca sotto i 4 caratteri

Se quindi state cercando stringhe come “php“,”htm” o “css“, e nonostante siate sicuri che ci siano riscontri, la ricerca non vi restituisce nessun record, non è dovuto ad una tabella corrotta, ma molto più semplicemente perché l’indice in condizioni normali non gestisce ricerche di questo tipo.

La soluzione, se siete nelle condizioni di modificare il file di configurazione, fortunatamente c’è, e prevede 3 operazioni

  1. E’ necessario definire il valore della variabile ft_min_word_len all’interno del file my.cfg
    ft_min_word_len=3
  2. Riavviare il server in modo che valorizzi in modo corretto la nuova impostazione
  3. Per finire, è necessario fare il rebuild degli indici, in modo che vengano ricostruiti con tutte le informazioni corrette
    REPAIR TABLE nometabella QUICK;

Facile come bere un chupito… basta saperlo.

Per la documentazione ufficiale basta guardare qui

Technorati: , ,
BlogBabel: , ,

Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • co.mments
  • De.lirio.us
  • Fark
  • Furl
  • NewsVine
  • Reddit
  • Smarking
  • Spurl
  • Segnalo
  • OKNOtizie
  • Taggly

Questo articolo è stato pubblicato il 5 Ottobre 2007 alle 11:22 pm ed è stato letto 7286 volte
Archiviato sotto mysql.

Se questo post ti è piaciuto puoi iscriverti al mio Feed Rss e ricevere direttamente gli aggiornamenti di questo blog sul tuo FeedReader oppure puoi decidere di offrirmi un caffè.
Se ti va puoi lasciare un commento e leggere quelli degli altri, ma se preferisci puoi passare direttamente al post precedente o a quello successivo.


Forse collegati ..

3 Commenti per “MySQL, indici FullText e la lunghezza delle strighe”

  1. ciupito non si scrive cosi :P

  2. …sei il solito alcolizzato :P

    cmq, grazie, chupito corretto e linkato ;)

  3. Ahhhhhhhhhhhhhhhh…. ora si spiegano moooolte cose… in effetti un dubbio l’avevo avuto ma non ho mai indagato in merito :) Comunque grazie per l’utilissima dritta :)

Lascia un messaggio