Visualizzazione risultati 1 fino 4 di 4

Discussione: Ricerca full text

  1. #1
    Guest

    Predefinito Ricerca full text

    Buongiorno a tutti.
    Ho questo problema:

    1-ho creato una tabella

    CREATE TABLE `my_i99`.`id` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `titolo` VARCHAR(45) NULL, `note` VARCHAR(45) NULL, `indirizzo` VARCHAR(45) NULL, `latitudine` VARCHAR(45) NULL, `longitudine` VARCHAR(45) NULL, `utente` VARCHAR(45) NULL, `punti` VARCHAR(45) NULL DEFAULT '0', `foto` VARCHAR(45) NULL) ENGINE = MyISAM

    2-ho creato un indice

    CREATE FULLTEXT INDEX Indice ON i9 (titolo(45),note(45),indirizzo(45),latitudine(45), longitudine(45),utente(45),punti(45),foto(45));

    3-creo due righe di prova

    INSERT INTO `my_i99`.`i9` (`id`, `titolo`, `note`, `indirizzo`, `latitudine`, `longitudine`, `utente`, `punti`, `foto`) VALUES (NULL, 'tit1', 'not1', 'ind1', '54', '54', 'ute1', '0', 'fot1'), (NULL, 'tit2', 'not2', 'ind2', '76', '76', 'ute2', '0', 'fot2');


    3-PROVO UNA RICERCA

    SELECT * FROM i9 WHERE MATCH (titolo) AGAINST (‘tit1’);


    RISULTATO:

    query SQL:

    SELECT *
    FROM i9
    WHERE MATCH (

    titolo
    )
    AGAINST (
    ‘tit1’
    )
    LIMIT 0 , 30
    Messaggio di MySQL:

    #1054 - Unknown column '‘tit1’' in 'where clause'


    Non riesco a capire come risolvere il problema. Se qualcuno mi può aiutare.. Grazie!

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Il fatto che nella prima query la tabella la chiami "id" è solo un errore di battitura?

    Che senso ha usare una fulltext search su dei campi di testo da 45 caratteri?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Grazie per la risposta saitfainder ..

    Si, in realtà la tabella si chiama i9.

    Per la seconda domanda..

    Non ne ho idea;
    quello che devo fare è ricercare in riga "indirizzi" UNA SOLA parola.. per esempio, cercare "turati" e ritrovare "via turati", "via turati 2", "via Turati 6-4", ecc.
    Con LIKE non riesco a farlo, mi controlla tutto il contenuto della riga. Googlando trovo la fulltext search e sembra potermi aiutare, però non riesco proprio..

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Il contenuto esatto di un campo si controlla con l'operatore "uguale", con il LIKE hai invece proprio la possibilità di cercare sottostringhe. Quindi nel tuo esempio sarebbe "WHERE nomecampo LIKE "%turati%".


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •