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

Buscar cada palabra una vez con full text in boolean mode

Estas en el tema de Buscar cada palabra una vez con full text in boolean mode en el foro de Mysql en Foros del Web. Hola, estoy haciendo unas busquedas con fulltext y tengo un problemilla con una consulta como esta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT   * ...
  #1 (permalink)  
Antiguo 21/06/2013, 14:57
 
Fecha de Ingreso: marzo-2012
Mensajes: 43
Antigüedad: 12 años, 9 meses
Puntos: 3
Buscar cada palabra una vez con full text in boolean mode

Hola, estoy haciendo unas busquedas con fulltext y tengo un problemilla con una consulta como esta:

Código MySQL:
Ver original
  1. SELECT  *,MATCH (titulo,texto) AGAINST ('+(<a* >a) +(<b* >b)') AS score
  2. FROM articulos  
  3. WHERE MATCH (titulo,texto) AGAINST ('+(<a* >a) +(<b* >b)' IN BOOLEAN MODE)
  4. ORDER BY score DESC LIMIT 0,25

Me gustaria que buscara a, a*,b, b* solo una vez, ya que deberia listar un texto

a b

antes que:

antes bidon bolso

por eso uso < > para dar mas score a las palabras exactas que las truncadas, pero si hay mas coincidencias de palabras truncadas que exactas estas tienen mas socere.

Alguien me puede guiar para saber como hacerlo?

Un saludo y gracias por adelantado

Última edición por gnzsoloyo; 21/06/2013 a las 15:23
  #2 (permalink)  
Antiguo 21/06/2013, 15:05
 
Fecha de Ingreso: marzo-2012
Mensajes: 43
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Buscar cada palabra una vez con full text in boolean mode

Una solucion que se me ocurrio fue:
Código MySQL:
Ver original
  1. SELECT * FROM articulos
  2. WHERE MATCH (titulo,texto) AGAINST ('+a +b') IN BOOLEAN MODE)
  3. SELECT * FROM articulos
  4. WHERE MATCH (titulo,texto) AGAINST ('+a* +b*') IN BOOLEAN MODE)

Asi muestra primero los resultados con palabras exactas y despues los resultados con las palabras truncadas, pero me gustaria hacerlo como en el post anterior porque es mas rapida la consulta

Un saludo

Última edición por gnzsoloyo; 21/06/2013 a las 15:24

Etiquetas: boolean, cada, full, mode, palabra, select, text, vez
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 02:00.