Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta de búsqueda para buscador interno

Estas en el tema de Consulta de búsqueda para buscador interno en el foro de Mysql en Foros del Web. Buenas He estado leyendo un artículo sobre del tema y parece que recomiendan usar busquedas a través de FULLTEXT. En mi caso se trataría de ...
  #1 (permalink)  
Antiguo 01/05/2010, 09:20
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 19 años, 1 mes
Puntos: 14
De acuerdo Consulta de búsqueda para buscador interno

Buenas

He estado leyendo un artículo sobre del tema y parece que recomiendan usar busquedas a través de FULLTEXT.

En mi caso se trataría de buscar unicamente por un campo, un TITULO.
Si buscan una sola palabra, usaré LIKE, y sino FULLTEXT.

¿Estaría bien realizar la consulta de este modo?
Donde $busqueda es una variable que contiene las palabras a buscar.

Código PHP:
SELECT  * , MATCH (TITULOAGAINST ('$busqueda') AS puntuacion
  FROM FOTOS WHERE  MATCH 
(TITULOAGAINST ('$busqueda')
  
ORDER  BY puntuacion DESC 
Gracias.
  #2 (permalink)  
Antiguo 01/05/2010, 09:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Consulta de búsqueda para buscador interno

- esto sólo funcionará con tablas MyIsam, no con tablas InnoDB. ¿Cómo son las tuyas?

- además tienes que preparar el índice fulltext por el campo en el que buscas, algo que ahí en la consulta que muestras no está.

- mira también lo que dice el manual sobre este tipo de índices y consultas
http://dev.mysql.com/doc/refman/5.0/...xt-search.html
  #3 (permalink)  
Antiguo 01/05/2010, 09:54
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 19 años, 1 mes
Puntos: 14
De acuerdo Respuesta: Consulta de búsqueda para buscador interno

Cita:
Iniciado por jurena Ver Mensaje
- esto sólo funcionará con tablas MyIsam, no con tablas InnoDB. ¿Cómo son las tuyas?

- además tienes que preparar el índice fulltext por el campo en el que buscas, algo que ahí en la consulta que muestras no está.

- mira también lo que dice el manual sobre este tipo de índices y consultas
http://dev.mysql.com/doc/refman/5.0/...xt-search.html
Ya realicé el añadido de FULLTEXT al campo en cuestión.
He probado la consulta y funciona si, pero quería saber si la estoy usando bien o si se podría mejorar el orden o algo.

Por cierto. No se si se podrá hacer directamente a través de SQL y pensaba hacerlo a través de PHP, pero...
¿Cómo se podría hacer para buscar palabras de modo más eficaz?

Es decir, si busco "camiones", que me encuentré también "camión". Eliminando plurales y tal.

¿como lo hacen los buscadores de verdad? ¿A través de algún lenguaje de programación o de sentencias SQL?

Saludos y gracias.

Etiquetas: interno, buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.