Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2008, 03:11
Avatar de xevisoyyo
xevisoyyo
 
Fecha de Ingreso: mayo-2005
Mensajes: 166
Antigüedad: 19 años
Puntos: 1
Dudas sobre LIKE y MATCH()

Hola, sé que esto ha salido varias veces pero tansolo quisiera aclarar unas dudas.

He hecho lo tipico que se hace en estos casos, usar LIKE para una palabra y MATCH() para mas de una, a partir de aquí me salen varias dudas que vosotros por experiencia o conocimientos quizá sepáis aclararme. (el sistema me funciona perfecto en ambos casos)


DUDA 1 -> Ya que con MATCH() no se pueden buscar palabras con menos de 4 letras lo que he hecho es que si solo hay una palabra y esta es de menos de 4 letras uso LIKE y si contiene 4 letras o mas uso MATCH() (esto no me supone un problema simplemente es una linea más de código)

Más de 3 letras MATCH() menos de 3 LIKE

La pregutna es ¿vale la pena? quiero decir con MATCH se supone que es mejor y más rápido ¿no? ¿pero vale la pena hacer esta distinción en el caso de que haya solo una palabra?

DUDA 2 -> Esta está relacionada con la duda anterior. Aunque sea mejor usar MATCH() me gusta más el LIKE en un aspecto y es que aunque pongas palabras incompletas te arroja resultados ('%busqueda%') para mi esto es importante porque muchas veces la gente escribe mal o palabras de nombres complicados y si fallas por una letra o te dejas alguna al final o al principio con MATCH() ya no te arroja el resultado.

Sé que añadiendo IN BOOLEAN MODE y poniendo asterisco al final de la palabra esto se puede solucionar en parte, pero si no lo he entendido mal y por las pruebas que he realizado tan solo se puede poner al final. Hay algún truco o método que pueda usar para que por ejemplo si pongo "agua" me arroje los resultados que contengan la palabra "paraguas", con el LIKE sí ¿y con MATCH()? Por cierto cualquier truco o idea al respecto será bienvenido.

DUDA 3 -> Bueno esta duda es sobre el índice FULLTEXT Es la primera vez que lo he hecho y aunque todo va bien tengo la siguiente duda y es que no sé que es mejor si hacer FULLTEXT busqueda (titulo, keywords) o hacer simplemente FULLTEXT busqueda (keywords) y añadir en las keywords las mismas palabras del titulo lo pregunto porque aunque de esta manera ocupe un poco más tampoco será mucho más ya que los títulos apenas son de 2 o 3 palabras me pregunto si no será mejor y más rápido buscar en una sola columna que buscar en dos. No sé digo yo que si hay 20 palabras clave (keywords) por poner 2 más no pasa nada y quizá eso mejoraría. Esa es mi pregunta. Se aceptan sugerencias.

Perdon por el rollo pero creo que siendo solo dudas y no un problema en concreto es mejor hacerlo así que no abriendo distintos posts para algo que cualquiera con experiencia creo que me podrá aclarar en pocas lineas.

Saludos y gracias