Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2006, 15:49
jotamachuca
 
Fecha de Ingreso: octubre-2004
Mensajes: 143
Antigüedad: 19 años, 6 meses
Puntos: 0
Problemas con FULLTEXT y busquedas

Hola a todos

Resulta que tengo una base de datos donde en ciertas tablas quiero realizar busquedas.. para esto utilizo FULLTEXT, con MATCH AGAIN... para las busquedas.

El cuento es que muchas veces NO ME EFECTUA LAS BUSQUEDAS.... o sea, viendo el contenido de la tabla, la palabra que busco SI ESTA en la base de datos, pero no aparece en el query...

Les muestro

La estructura de la tabla
Código:
+-----------------------+------------------+------+-----+---------+-------+
| Field                 | Type             | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------+-------+
| ID_RECURSO            | int(10) unsigned |      | PRI | 0       |       |
| ID_TIPO_PARTICIPACION | int(10) unsigned |      | MUL | 0       |       |
| ID_ESTADO             | int(10) unsigned |      | MUL | 0       |       |
| TITULO                | varchar(255)     |      | MUL |         |       |
| INICIO                | date             | YES  |     | NULL    |       |
| TERMINO               | date             | YES  |     | NULL    |       |
| PARTICIPANTE          | text             | YES  |     | NULL    |       |
| ENLACE                | varchar(255)     | YES  |     | NULL    |       |
| KEYWORD               | varchar(255)     | YES  |     | NULL    |       |
| FINANCIAMIENTO        | varchar(255)     | YES  |     | NULL    |       |
| DESCRIPCION           | text             | YES  |     | NULL    |       |
+-----------------------+------------------+------+-----+---------+-------+
Como realice la creación del índice
Código:
ALTER TABLE PROYECTO_EXTENSION ADD FULLTEXT INDEX PROYECTO_EXTENSION_FULLTEXT(TITULO, PARTICIPANTE, FINANCIAMIENTO, KEYWORD, DESCRIPCION);
La consulta en cuestion
Código:
mysql> SELECT *
    -> FROM PROYECTO_EXTENSION
    -> where MATCH( TITULO, PARTICIPANTE , FINANCIAMIENTO , KEYWORD, DESCRIPCION ) AGAINST('Prueba') ;
Empty set (0.00 sec)
mysql>
El resultado al hacer un select * from PROYECTO_EXTENSION
Código:
mysql> select TITULO,PARTICIPANTE,FINANCIAMIENTO, KEYWORD, DESCRIPCION from PROYECTO_EXTENSION;
+-----------------------------------------------+-----------------------------------------------------+--------------------------+----------------------+-------------------------------+
| TITULO                                        | PARTICIPANTE                                        | FINANCIAMIENTO           | KEYWORD            | DESCRIPCION                   |
+-----------------------------------------------+-----------------------------------------------------+--------------------------+----------------------+-------------------------------+
| Primera prueba deproyecto de extensi&oacute;n | <p>asdas ad asd as</p><p>a sda d asd as d&nbsp;</p> | Universidad de La Serena | hola chao chao       | &nbsp;asd asd as asd as<br /> |
| Primera prueba deproyecto de extensi&oacute;n | <p>asdas ad asd as</p><p>a sda d asd as d&nbsp;</p> | Universidad de La Serena | hola chao chao       | &nbsp;asd asd as asd as<br /> |
| Prueba de proyecto de extension               | NULL                                                | Prueba                   | asasd asdadsas asd a | NULL                          |
+-----------------------------------------------+-----------------------------------------------------+--------------------------+----------------------+-------------------------------+
3 rows in set (0.00 sec)

mysql>
y si se fijan, la palabra prueba si esta,

Que es lo que puede ser ????

Espero sus comentarios

Saludos