Foros del Web » Programando para Internet » PHP »

buscador avanxado

Estas en el tema de buscador avanxado en el foro de PHP en Foros del Web. hola, buaneas tengo un buscador de canciones en una base de datas, la consulta sql es la siguiente: Código: $query = "SELECT * ,(MATCH (titulo, ...
  #1 (permalink)  
Antiguo 26/10/2012, 07:06
 
Fecha de Ingreso: julio-2012
Mensajes: 19
Antigüedad: 11 años, 10 meses
Puntos: 0
buscador avanxado

hola, buaneas
tengo un buscador de canciones en una base de datas, la consulta sql es la siguiente:
Código:
$query = "SELECT * ,(MATCH (titulo, artista) AGAINST 
('$search' IN BOOLEAN MODE)) as relevance FROM music 
WHERE  MATCH (titulo, artista, album, letra) AGAINST 
('$search' IN BOOLEAN MODE) ORDER BY relevance DESC 
LIMIT $inicio, $registros";
me gustaria q cuando encontrara una palabra en la columna letra le diera mucha menos importancia q una q encuentre en tiulo. Porq sino habeces me muestra otra cancion por el contedido de la letra, hay alguna forma de hacer esto?

gracias
  #2 (permalink)  
Antiguo 26/10/2012, 07:26
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: buscador avanxado

Mira en este post te puede resultar interesante

http://www.forosdelweb.com/f86/fullt...tablas-818391/
http://elezeta.net/2008/06/26/mysql-...lltext-search/
Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #3 (permalink)  
Antiguo 26/10/2012, 07:56
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: buscador avanxado

Prueba esto:
El 5 es el multiplicador de relevancia del titulo y
el 1 el del artista
Código MySQL:
Ver original
  1. SELECT * ,
  2. (
  3. MATCH (titulo) AGAINST ('$search' IN BOOLEAN MODE) * 5 +
  4. MATCH (artista) AGAINST ('$search' IN BOOLEAN MODE) * 1
  5. ) as relevance
  6.  
  7. FROM music
  8. WHERE  MATCH (titulo, artista, album, letra) AGAINST
  9. ('$search' IN BOOLEAN MODE) ORDER BY relevance DESC
  10. LIMIT $inicio, $registros

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: mysql
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 16:43.