MySQL - Expresiones Regulares en Mysql

 
Vista:
Imágen de perfil de MANUEL
Val: 3
Ha disminuido su posición en 28 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Expresiones Regulares en Mysql

Publicado por MANUEL (2 intervenciones) el 06/06/2018 19:11:15
Hola Amigos Programadores una vez mas tengo una duda que quisiera que algún experto me pudiera ayudar; sucede que tengo una tabla con dos campos y cien mil registros de posibles respuestas a una pregunta de un usuario. y necesito lograr buscar una coincidencia en el patrón de pregunta que tengo guardada en mi columna pregunta con la frase que el cliente a proporcionado. ejemplo seria:

columna pregunta1 = * hola * como estas *
columna respuesta1 = yo muy bien y tu.

columna pregunta1 = * como estas * amigo *
columna respuesta1 = yo bien gracias y tu.


frase del cliente= "hola que tal amigo como estas. podemos blablabla";

como ben la primera pregunta de mi base de datos coincide mas con la frase del cliente que la segunda ya que tienen agregado la palabra amigo..

he intendo crear algo asi pero nada ya que apenas me estoy empapando con las expresiones regulares en mysql.

select "Hola max, como estás, te deseo feliz navidad" REGEXP ("[^*.][:como:][^*.][:est.*:][.*$]");

como acotacion debe ser desde mysql porque quiero que sea portable a cualquier lenguaje.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Expresiones Regulares en Mysql

Publicado por leonardo_josue (414 intervenciones) el 07/06/2018 17:00:25
Hola Manuel.

La búsqueda de patrones, no es tan simple como se puede pensar (y sino, pregúntale a San Google) y encontrar una "mejor" forma de hacerlas es como el santo grial de la computación. Creo que debes de analizar realmente cuál es el alcance que quieres tener en tus búsquedas, ya que esto que pretendes me suena un tanto a inteligencia artificial y puede resultar muy complicado aplicarlo con expresiones regulares.

En este sentido, las Expresiones Regulares tampoco son tan "simples" de entender y de implementar, sobre todo si no tienes mucha experiencia con ellas. Te sugiero que comiences practicando un poco, puedes checar estas ligas que te serán de utilidad:

http://www.regexplanet.com/advanced/java/index.html
https://regex101.com/
https://www.freeformatter.com/regex-tester.html

y como estos, hay muchos sitios adicionales en donde puedes crear y probar tus expresiones regulares en línea (en esencia, estas expresiones regulares también debería de funcionar en mySQL)

finalmente, creo que también te conviene investigar un poco acerca de BÚSQUEDAS DE TEXTO COMPLETO. es un tema bastante interesante que igual y también te puede servir:

https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MANUEL
Val: 3
Ha disminuido su posición en 28 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Expresiones Regulares en Mysql

Publicado por MANUEL (2 intervenciones) el 07/06/2018 20:34:30
Muchas Gracias Leonardo voy a seguir investigando al respecto. ya tengo una somera idea de que puedo hacer pero me falta es aplicarla si resulta la coloco en este post. y sobre el ultimo link ya he investigado y lo voy a usar de antemano para minimizar la cantidad de respuestas posibles según su grado de relevancia. ya luego me tocara hacer la búsqueda especifica de forma de agilizar la entrega de la respuesta.

Ahora según lo que quiero hacer y es un proyecto personal no se si continuar con mysql, mariadb y hacerlo en otro manejador que me de mayor prestación en cuanto a rapidez y funciones...

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar