Ver Mensaje Individual
  #9 (permalink)  
Antiguo 19/06/2014, 01:17
Avatar de gerardrev
gerardrev
 
Fecha de Ingreso: junio-2014
Ubicación: Tarragona
Mensajes: 23
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Can't find FULLTEXT mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
La interfaz gráfica de XAMPP, hasta lo que sé, es phpMyadmin, y el hecho de que sea difundida no implica que no pueda tener errores de diseño como interfaz.
Al ser una interfaz multiproposito para un producto que no es parte de XAMPP, ni de PHP, como es el MySQL, tiene margen de error.

REsulta muy raro que no entiendas lo que remarcas.
¿Tienes claro que un indice se puede crear por más de una columna, no?

Bueno, en el caso de los FULLTEXT, un mismo índice debe crearse con todas las columnas a usar en el MATCH(), como clave de indice.
Eso es de manual. Si no están todas en el indice, MySQL descarta el índice, o no encuentra uno que cumpla con lo indicado.
Esto último quiere decir que si has creado un indice con cada una, pues eso no sirve. DEbe ser un único indice con toas al mismo tiempo, y el mismo orden del MATCH().
Código MySQL:
Ver original
  1. ALTER TABLE `buscador` ADD FULLTEXT(Titulo,Palabras);

90% irrelevante. Yo no estoy hablando ni de PHP, ni de Apache. Sólo hablamos en este foro de MySQL. El resto no tiene imapcto en el FULLTEXT.
En tu caso, lo único importante es esto:

Eso implica que por versión de MySQL no debería haber problemas. Por consecuencia, paso a pensar que el error está en la definición de la clave del índice: No tienes ninguno que abarque los dos campos al mismo tiempo. En ese caso sólo te funcionar´´ia (de aceurdo a tu tabla e indices) hacer un MATCH() por cada columna.

¿Se entiende?
comprendido, lo habia entendido mal.

Despues de andar probando, he dado con "la solucion", aunque no muy ortodoxa pero me ha funcionado, he borrado la tabla y la he vuelto hacer desde cero y ahora ya funciona.
La verdad es que ya funcionaba en un principio, pero despues de andar tocando y probando dejo de funcionar.
Gracias por vuestro tiempo y ayuda.

Código MySQL:
Ver original
  1. CREATE TABLE `buscador` (
  2.  `Titulo` text COLLATE utf8_spanish_ci NOT NULL,
  3.  `Url` text COLLATE utf8_spanish_ci NOT NULL,
  4.  `Palabras` text COLLATE utf8_spanish_ci NOT NULL,
  5.  PRIMARY KEY (`id`),
  6.  KEY `id` (`id`),
  7.  FULLTEXT KEY `Titulo` (`Titulo`,`Palabras`)

Última edición por gerardrev; 19/06/2014 a las 01:25