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

Busquedas FULLTEXT que no discrimine acentos.

Estas en el tema de Busquedas FULLTEXT que no discrimine acentos. en el foro de Bases de Datos General en Foros del Web. Holas.. Bueno les cuento, a ver si me pueden dar una mano. Trabajo con MySql + PHP. Tengo un par de campos en mi tabla ...
  #1 (permalink)  
Antiguo 20/10/2005, 05:39
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Busquedas FULLTEXT que no discrimine acentos.

Holas..
Bueno les cuento, a ver si me pueden dar una mano.
Trabajo con MySql + PHP.

Tengo un par de campos en mi tabla indexados como fulltext.
($query_search= 'SELECT * FROM tb_empresa_textos WHERE MATCH(empresa_texto_descripcion, empresa_texto_desc_comercial ) AGAINST ("'.$palabra.'")';)

Un Editor que trabaja con nosotros carga notas y artículos que se almacenan en la BD dento de estos campos.

Las busquedas funcionan, como el editor es muy prolijo en la sintaxis y la ortografía carga las notas con los acentos de las palabras cuando corresponden.

El tema es que los usuarios del portal NO utilizan como concepto de busquedas palabras con mayúsculas.

Por ejemplo, el editor puso la palabrá apícola en el frontend.
Luego se almaceno en la tabla la palabre apícola.
Pero cuando un usuario busca apicola no se devuelven resultados.

Como podré solucionar esto?
Saludos.
  #2 (permalink)  
Antiguo 20/10/2005, 08:31
 
Fecha de Ingreso: abril-2005
Mensajes: 49
Antigüedad: 19 años
Puntos: 0
Podés llevar las dos palabras que querés comparar a una forma canónica (por ejemplo sin tildes y todo en minúsculas) y comparar los resultados de la conversión. Tendrías que hacer una función para convertir los &?acute; &?uml; y &?tilde; en ? solamente (siendo ? una letra cualquiera).

Espero que esto te ayude.
  #3 (permalink)  
Antiguo 20/10/2005, 11:50
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Lo solucioné.

Bueno, lo solucione buscando en la página oficial de MySql y como se persea el texto y sus opciones bolenas.
Posteo la solucion por si a alguien le llega a interesar.

El tema estaba en que la palabra a buscar, por inercia, parsaba al parámetro entre a buscar entre comillas dobles, entonces al ser comillas dobles la busqueda se hace sencible a minusculas, mayusculas, a los acentos, etc..
coloque comillas simples al pasar el valor y listo.

Además deberé modificar la proteccion de almacenamiento de mis frontends cambiando mi actual HTMLENTITIES en HTMLESPECIALCHARS.

Igual gracias.
Éxitos.
  #4 (permalink)  
Antiguo 20/10/2005, 16:10
 
Fecha de Ingreso: abril-2005
Mensajes: 49
Antigüedad: 19 años
Puntos: 0
No hay problema, me alegra que lo hayas podido resolver. Y gracias por publicar la solución, tal vez me sirva algún día.
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 11:20.