Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Originariamente inviato da piero.mac
    Il campo deve essere FULL TEXT...
    codice:
    SELECT * FROM tabella
    WHERE MATCH(campo_fulltext) AGAINST('cappello antico')
    ovviamente non trovera' mai 'berretto nuovo' ma se nella ricorrenza AGAINST ci fosse 'copricapo nuovo vecchio' potrebbe anche trovarti "berretto e cappello" ma sarebbero dei "falsi amici" nel senso che nella frase sicuramente c'era "copricapo" oppure "nuovo" o "vecchio"... darti insomma convinzioni errate sul valore della query.


    http://dev.mysql.com/doc/mysql/en/fulltext-search.html
    Interessantissima sta cosa

    la provo subito

    grazie piero

  2. #12
    Ho fatto questa query :
    codice:
    SELECT * 
    FROM main
    WHERE MATCH (
    name
    )
    AGAINST (
    'pizza'
    )
    LIMIT 0 , 30
    dove main è una tabella con i nomi di ricette e name è il campo con i titoli delle ricette (full_text) ma se io provo a cercare con against pizza (che cmq è presente) non mi troav nulla

  3. #13
    Detto cosi' mi metti in crisi .... la "funzione" funziona...

    Ci sono dei limiti a seconda delle versioni... e funziona solo sulle myisam. Prova a cambiare la parola.... tra l'altro funziona solo su ricorrenze complete... non su caratteri jolly tipo _ o %.

    Che versione di mysql, php e phpmyadmin utilizzi?

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

  4. #14
    phpMyAdmin 2.6.1-pl3
    MySQL 4.1.10a
    PHP version : 5.0.4

    SI SI ho visto che funziona ho cercato pasta e mi ha trovato altri valori ma purtroppo quello che non ho capito e come adattarla

    cioe non ho capito il ragionamento che fa quella query

  5. #15
    Originariamente inviato da stefano3804
    phpMyAdmin 2.6.1-pl3
    MySQL 4.1.10a
    PHP version : 5.0.4

    SI SI ho visto che funziona ho cercato pasta e mi ha trovato altri valori ma purtroppo quello che non ho capito e come adattarla

    cioe non ho capito il ragionamento che fa quella query
    Adattarla.... intanto non sei obbligato ad usarla.. nel senso che se cerchi una specifica parola non ti serve una ricerca full text che e' sempre pesante... e poi anche considerare che AGAINST ha anche il BOOLEAN MODE.

    Quando usarla? un esempio semplice semplice...

    SELECT ECC....
    WHERE campo1 like '%pippo%, OR campo2 like '%pippo% or ecc...

    lo risolvi con:

    WHERE match(CAMPO1, CAMPO2, CAMPO3, CAMPO4) AGAINST('pippo')

    e' appunto un piccolo esempio. Pero' full text funziona solo su myisam, rallenta grandemente gli inserimenti, al punto che il manuale stesso consiglia di rimuovere il full text per gli inserimenti... Ha comportamenti diversi a seconda della versione...

    In pratica se imposti lo script su questa funzione nel caso cambiassi tipo di tabella, devi rifare il tuo motore di ricerca.

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

  6. #16
    Originariamente inviato da piero.mac
    e' appunto un piccolo esempio. Pero' full text funziona solo su myisam, rallenta grandemente gli inserimenti, al punto che il manuale stesso consiglia di rimuovere il full text per gli inserimenti... Ha comportamenti diversi a seconda della versione...

    In pratica se imposti lo script su questa funzione nel caso cambiassi tipo di tabella, devi rifare il tuo motore di ricerca.

    Piero sei stato davvero convincente

    non lo usero- mai

    grazie
    cmq mi e piaciuta la spiegazine

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 © 2026 vBulletin Solutions, Inc. All rights reserved.