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

Full Text Index

Estas en el tema de Full Text Index en el foro de Mysql en Foros del Web. Hola a todos, soy nuevo en este foro, y me he apuntado porque tengo un poltergeist con mysql. A ver si alguien de vosotros me ...
  #1 (permalink)  
Antiguo 10/04/2012, 05:55
xpm
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Full Text Index

Hola a todos,

soy nuevo en este foro, y me he apuntado porque tengo un poltergeist con mysql. A ver si alguien de vosotros me puede ayudar, por favor.

Tengo un campo full text index, por el cual hago la siguiente consulta:

SELECT * FROM ads WHERE MATCH(SearchField) AGAINST('+seat' IN BOOLEAN MODE)

La consulta funciona bien. Si pongo

SELECT * FROM ads WHERE MATCH(SearchField) AGAINST('+seat +leon' IN BOOLEAN MODE)

Funciona perfectamente (me muestra solo los que en ese campo hay seat y leon. Todas las consultas funcionan a la perfección, menos la siguiente :

SELECT * FROM ads WHERE MATCH(SearchField) AGAINST('+audi +a3' IN BOOLEAN MODE)

En este caso, no me filtra por el literal "A3", y me muestra indistintamente todos los que tiene la palabra "Audi" (con o sin "A3").

PORQUE ???? PORQUE FUNCIONA BIEN SIEMPRE MENOS CON EN LITERAL "A3", "A2", ETC. ? ES ALGUNA PALABRA RESERVADA ? NO SE PUEDEN PONER NÚMEROS ?

Muchas gracias por vuestra ayuda. Yo ya no sé por donde más buscar.

Saludos cordiales,

Xavi
  #2 (permalink)  
Antiguo 10/04/2012, 07:40
xpm
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Full Text Index

Pues nada,

me respondo a mi mismo:

porque la búsqueda solo contiene dos carácteres, y el mínimo son 4. Se puede modificar este mínimo en my.cnf.

Gracias de todas formas !!!!!
  #3 (permalink)  
Antiguo 10/04/2012, 10:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Full Text Index

El sentido de que sea de al menos 4 caracteres es porque la cantidad de coincidencias con dos letras sería inmenso, lo que hace perder la eficiencia del sistema.
No tiene ningún sentido permitir búsquedas con dos letras. Imagínate sin más, que buscas la coincidencia de "el"... ¿Cuántos resultados obtendrías?
Probablemente te devolviese todos los registros...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: consulta+sql, fulltext
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 07:12.