[MySql5] Fulltext con sigle/acronimi
BrightSoul
BrightSoul non è online. Ultima attività: 11/05/2009 10.54.44BrightSoul Top Poster
il 30 aprile 2007 alle 10.19
Contributi | 4.726 messaggi dal 09 febbraio 2002
Salve,
in un sito che si appoggia a MySql ho implementato la ricerca fulltext e nella maggior parte dei casi funziona egregiamente.
Ho trovato dei problemi nei momenti in cui gli utenti digitano delle sigle, ad esempio:
S.P.A.
D.L.
P.A.
e così via...

anche se queste sigle risultano presenti all'interno del testo contenuto nel campo fulltext, le seguenti queries non mi restituiscono alcun risultato.

SELECT * FROM contenuti WHERE MATCH(testo) AGAINST ('S.P.A.' IN BOOLEAN MODE);
SELECT * FROM contenuti WHERE MATCH(testo) AGAINST ('"S.P.A."' IN BOOLEAN MODE);
SELECT * FROM contenuti WHERE MATCH(testo) AGAINST ('S\.P\.A\.' IN BOOLEAN MODE);

Anche lanciando la query senza l'opzione IN BOOLEAN MODE è la stessa cosa. Probabilmente il motore delle ricerche fulltext pensa che il punto serva a separare le tre parole S P e A, che vengono miserabilmente scartate perchè sono formate da 1 solo carattere e la variabile globale ft_min_word_len è impostata a 3.

Invece, queries di questo tipo funzionano bene:
SELECT * FROM contenuti WHERE INSTR(testo, 'S.P.A.')>0;
SELECT * FROM contenuti WHERE testo LIKE '%S.P.A.%';

ma in ogni caso io vorrei continuare ad usare la ricerca fulltext. Come posso risolvere?

Vi ringrazio anticipatamente.
Modificato da BrightSoul il 30 aprile 2007 11.11 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9