Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [mysql] fulltext

  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [mysql] fulltext

    ciao a tutti

    ho un problema con la ricerca fulltext fatta su 4 campi della tabella.

    Poniamo di avere 4 campi varchar descrizione (descr_1,descr_2,descr_3,descr_4) riferiti ad un
    articolo.

    Creo l'indice in questo modo
    Codice PHP:
    ALTER TABLE `articoliADD FULLTEXT (
    `
    descr_1`,
    `
    descr_2`,
    `
    descr_3`,
    `
    descr_4`

    uso questa query
    Codice PHP:
    SELECT*, 
    MATCH(descr_1,descr_2,descr_3,descr_4 AGAINST('*$key*' IN BOOLEAN MODE) AS attinenza 
    FROM articoli 
    WHERE MATCH
    (descr_1,descr_2,descr_3,descr_4
    AGAINST('*$key*' IN BOOLEAN MODE
    ORDER BY attinenza DESC 
    Poniamo anche che nei campi ci siano le seguenti informazioni
    Codice PHP:
    descr_1LASTRA GRECATA CURVA H20/L1125
    descr_2
    ACCIAIO PREVERNICIATO
    descr_3
    SPESS6/10
    descr_4
    varie 
    Se $key è LASTRA la query mi ritorna il record. se invece cerco H20 non ho nessun risultato.

    Facendo una query semplicissima come
    Codice PHP:
    select from articoli where descr_1 like '%H20%'
    ho il risultato voluto. non capisco il perchè

  2. #2
    questione di lunghezza del termine da cercare. Di default non cerca parole troppo ricorrenti (comuni) e parole corte min 4 caratteri, piu' altre svariate limitazioni. Esiste pure un elenco di parole proibite alla ricerca.

    la variabile che ti interessa e':

    ft min word len 4

    le stop words sono indicate in:

    ft stopword file (built in)

    Nel manuale trovi delle indicazioni importanti sull'uso del fulltext:

    http://dev.mysql.com/doc/refman/5.0/...xt-search.html

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    grazie piero

    però non riesco a settare la variabile da shell

    infatti con SET @@ft_min_word_len=1

    ho l'errore unhnown system variable ft_min_word_len

    usando il comando mysqld --ft_min_word_len=1 la variabile non viene cambiata

    come posso fare?

  4. #4
    metterlo nel my.ini

    http://dev.mysql.com/doc/refman/5.0/...ne-tuning.html

    ma la lunghezza minima ad 1 e' un mezzo suicidio.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    fatto grazie.

    l'ho settato a 3 appunto per codici come H20 ecc ecc.

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.