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

Consulta sobre Match y Against!

Estas en el tema de Consulta sobre Match y Against! en el foro de Mysql en Foros del Web. Amigos, He aquí mi dilema: Tengo una tabla con un índice fulltext de 2 columnas. Quiero que, al buscar "minería economía" me aparezcan solo los ...
  #1 (permalink)  
Antiguo 18/06/2009, 13:43
Avatar de daniel.manchego  
Fecha de Ingreso: mayo-2006
Mensajes: 111
Antigüedad: 17 años, 11 meses
Puntos: 0
Consulta sobre Match y Against!

Amigos,

He aquí mi dilema:

Tengo una tabla con un índice fulltext de 2 columnas.

Quiero que, al buscar "minería economía" me aparezcan solo los registros que contengan esas dos palabras en el indice.

Mi sentencia es:

select * from biblioteca2 where ( match(titmono,titanal) against ("+minería +economía" in boolean mode) )

Entonces, cuando busco, me salen las primeras coincidencias bien, pero aparecen registros con una sola palabra...

¿Cómo le digo que sólo me muestren las que tengan las dos coindicencias?

Saludos!
__________________
Daniel Manchego
http://dmanchego.blogspot.com
  #2 (permalink)  
Antiguo 18/06/2009, 15:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta sobre Match y Against!

Daniel,
Mira a ver si cuando encuentras sólo una de las palabras en un campo, por ej. titmono, la otra está en titanal, y viceversa. Si eso es así, es porque has hecho de ambos campos uno sólo indexado, es decir una única cadena, y realmente el índice hace bien su trabajo, te los muestra porque los encuentra en la cadena del índice de dos campos que forman titmono y titanal. Haz un índice fulltext de cada columna y busca en las dos
select * from biblioteca2 where ( match(titmono) against ("+minería +economía" in boolean mode) ) OR where ( match(titanal) against ("+minería +economía" in boolean mode) )

No he probado nada, pero esto o algo parecido debería mostrar los registros donde en uno o en otro campo aparecen las dos palabras.
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 01:10.