Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2012, 15:07
Naica
 
Fecha de Ingreso: junio-2010
Mensajes: 49
Antigüedad: 13 años, 11 meses
Puntos: 3
Busqueda Terminaciones de palabras con IN BOOLEAN MODE

Hola!!, tengo problemas para utilizar IN BOOLEAN MODE en mi buscador, cuando busco 2 palabras como por ejemplo: "Delfín rosado" solo tiene encuenta la primer palabra "delfín" y la segunda es ignorada completamente.

Les dejo el código y a continuación la explicación del mismo:

Código MySQL:
Ver original
  1. SELECT uDR.webTitulo, uDR.webDescripcion, uDR.webkeywords, uDR.weburl, SUM(uDR.priority) as SPriority
  2.  
  3. (SELECT s1.webTitulo, s1.webDescripcion, s1.weburl, s1.webkeywords, 3 as priority FROM webs s1 WHERE MATCH (webTitulo) AGAINST ('$frase*' IN BOOLEAN MODE))
  4.  
  5.  
  6. (SELECT s2.webTitulo, s2.webDescripcion, s2.weburl, s2.webkeywords, 2 as priority FROM webs s2 WHERE MATCH (webkeywords) AGAINST ('$frase*' IN BOOLEAN MODE))
  7.  
  8.  
  9. (SELECT s3.webTitulo, s3.webDescripcion, s3.weburl, s3.webkeywords, 1 as priority FROM webs s3 WHERE MATCH (webDescripcion) AGAINST ('$frase*' IN BOOLEAN MODE))) uDR
  10.  
  11. GROUP BY uDR.webTitulo, uDR.weburl, uDR.webDescripcion, uDR.webkeywords
  12.  
  13. ORDER BY SPriority DESC

Cuando alguien escribe en el buscador, como por ejemplo: "delfín rosado" este término se guarda en la variable $frase.

Luego se evalúa si $frase se encuentra en el titulo, la descripción o las keywords y a cada uno se le asigna un puntaje que se suma para posicionar los resultados.

Las palabras no las puedo separar ya que se encuentran en $frase, por eso solo añado un *. Utilizo la opción IN BOOLEAN MODE ya que si escribo la palabra en plural, como "delfines rosados" no se encuentran resultados.

Espero que puedan ayudarme, saludos y gracias!
__________________
Naica enciclopedia animal