Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    52

    [MySql 5.0.56sp1-enterprise-gpl]: Ricerca FULLTEXT non funziona con asterisco

    Salve a tutti

    Nell'eseguire delle query di ricerca fulltext su database Mysql 5.0.56 enterprise, ottengo dei risultati "strani".

    L'sql per creare la tabella è il seguente:

    codice:
    CREATE TABLE tbl_articolo (
        id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
        titolo VARCHAR(100),
        corpo TEXT,
        FULLTEXT (titolo),
        FULLTEXT (corpo),
        FULLTEXT (titolo, corpo)
    ) ENGINE = MyISAM;
    codice:
    INSERT INTO `tbl_articolo` VALUES (2, 'Ricerche FULLTEXT in MySQL', 'Vediamo in questo articolo come realizzare delle ricerche FULLTEXT con MySQL.'),
    (3, 'Effettuare semplici ricerche con MySQL', 'Come eseguire delle semplici ricerche con la clausola WHERE'),
    (4, 'Gestire i permessi con MySQL', 'Studiamo in questo articolo come gestire i permessi degli utenti del DBMS'),
    (5, 'Creare un Database in MySQL', 'Come creare un Database in MySQL');
    Quando eseguo una query:

    codice:
    SELECT id, titolo, corpo  FROM tbl_articolo  
    WHERE MATCH (titolo) AGAINST ('mysq*' IN BOOLEAN MODE)
    tutto ok.

    Ma se metto l'asterisco in testa alla parola da cercare:

    codice:
    SELECT id, titolo, corpo  FROM tbl_articolo  
    WHERE MATCH (titolo) AGAINST ('*ysql' IN BOOLEAN MODE)
    Ottengo ZERO risultati , ma NON dovrebbe essere così .

    Qualcuno saprebbe darmi una mano?
    Rungrazio in anticipo

    Luca
    ******************************

    Attenti al cane....

    è fuggito!

    ******************************

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: [MySql 5.0.56sp1-enterprise-gpl]: Ricerca FULLTEXT non funziona con asterisco

    Originariamente inviato da apofys
    NON dovrebbe essere così .
    ...e come dovrebbe essere?

    The asterisk serves as the truncation (or wildcard) operator. Unlike the other operators, it should be appended to the word to be affected. Words match if they begin with the word preceding the * operator.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    52

    ???

    NON dovrebbe ritornare zero righe, ma 1,2,3 o più.

    codice:
    SELECT id, titolo, corpo  FROM tbl_articolo    WHERE MATCH (titolo) AGAINST ('*ysql' IN BOOLEAN MODE)
    dovrebbe ritornare tutti i record che iniziano con una qualunque sequenza di caratteri e terminano per 'ysql';
    (e ce ne sono di righe che contengono 'MySql'!!!!!)

    l'asterisco '*' per le ricerche fulltext dovrebbe essere come la '%' per il like da quello che ho capito...
    ******************************

    Attenti al cane....

    è fuggito!

    ******************************

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: ???

    Originariamente inviato da apofys
    l'asterisco '*' per le ricerche fulltext dovrebbe essere come la '%' per il like da quello che ho capito...
    Evidentemente hai capito male.
    Prima ti ho postato due righe di manuale, non è che ti scappa di leggerle vero?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    52
    Sorry Sorry Sorry
    Pensavo che la citazione fosse parte della tua firma e non ci ho fatto caso.

    Su alcuni manuali dicono altro, evidentemente non sono corretti.

    Grassie luca200!
    ******************************

    Attenti al cane....

    è fuggito!

    ******************************

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.