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

Cita:
Iniciado por Triby Ver Mensaje
No entiendo como puede ser esto, cómo ajustaste las columnas a fulltext? El error es porque no se encuentra el índice y no por cómo tengas las columnas.

Serías tan amable de mostrar la estructura de tu tabla?

Por cierto, muevo tu tema a MySQL, porque el problema nada tiene que ver con PHP.
Ante todo gracias por vuestras respuestas. Puse el tema en php porque vi uno igual aunque se resolvio de diferente manera, y lo puse ahí, pero si es verdad que esta mejor en Mysql.

Estoy trabajando con phpmyadmin de xampp, para convertir las columnas a fulltext hay en la interficie grafica un sitio donde pone Texto completo, que lanza el siguiente comando:

Código MySQL:
Ver original
  1. ALTER TABLE `buscador` ADD FULLTEXT(`Titulo`);

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo que te está diciendo es que no encuentra un índice FULLTEXT creado sobre la tabla, o al menos no existe para los campos seleccionados.
Debes tener en cuenta que el indice FULLTEXT debe ser creado si o si sobre las columnas del MATCH().
Por otro lado, los índices FULLTEXT aplicaban sólo para las tablas MyISAM hasta la versión 5.6.4, donde se implementó el soporte para las InnoDB. Si no tienes esa, y las tablas son InnoDB, no podrás usar FULLTEXT.

¿Qué versión de MySQL usas?
¿Cuál es la estructura (CREATE TABLE) de las tablas?

Para esto último simplemente haz un
Código MySQL:
Ver original
  1. SHOW CREATE TABLE buscador
y postea lo que devuelve.
No entiendo muy bien la frase que he puesto en negrita .
Tema versiones:

Cita:
Servidor BBDD:

Servidor: 127.0.0.1 via TCP/IP
Tipo de servidor: MySQL
Versión del servidor: 5.6.16 - MySQL Community Server (GPL)
Versión del protocolo: 10
Usuario: root@localhost
Conjunto de caracteres del servidor: UTF-8 Unicode (utf8)

Servidor web:

Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11
Versión del cliente de base de datos: libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $
extensión PHP: mysqli Documentación

phpMyAdmin:4.1.12
Las tablas si son InnoDB

En cuanto a la tabla (gracias por el comando):

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.  KEY `id_2` (`id`),
  8.  KEY `id_3` (`id`),
  9.  FULLTEXT KEY `Titulo` (`Titulo`),
  10.  FULLTEXT KEY `Url` (`Url`),
  11.  FULLTEXT KEY `Palabras` (`Palabras`),
  12.  FULLTEXT KEY `Titulo_2` (`Titulo`),
  13.  FULLTEXT KEY `Palabras_2` (`Palabras`),
  14.  FULLTEXT KEY `Titulo_3` (`Titulo`),
  15.  FULLTEXT KEY `Url_2` (`Url`),
  16.  FULLTEXT KEY `Palabras_3` (`Palabras`),
  17.  FULLTEXT KEY `Titulo_4` (`Titulo`)

Lo que no se es porque me salen cosas por duplicado/triplicado incluso titulo 4, lo acabo de descubrir ahora.
Muchas gracias de antemano.
PD: vale ahora veo que por cada vez que le doy al fulltext "añade" la columna, por ejemplo ahora tengo titulo_5, aunque realmente esta columna no me es visible.

Última edición por gnzsoloyo; 18/06/2014 a las 06:03 Razón: MUY mal etiquetado. Usar HIGHLIGHT "SQL" o "MySQL".