Me presento cordialmente ante ustedes y espero ser de gran ayuda en el foro.
y comienzo con una duda, sobre PHP y MYSQL para una búsqueda eficiente y rápida, generalmente tengo un programa que es muy parecido a un BOT de inteligencia artificial en donde no utilizo de nlp,wordnet ni java, simplemente pura información almacenada en la base de datos,
la lemantizacion es llevar la conjuncion del verbo a su manera original o masculina
tablas de verbos
tablas de lemantizacion
tablas de ortografia
tabla de posibles preguntas
tabla de posibles respuestas
y entre otras, y al pasar la pregunta insertada por todos los puntos como
limpieza, ortografia, lemantización llega a ser una pregunta totalmente limpia y valida para buscarla con una posible pregunta, y tengo una tabla que contiene 100,000 posibles preguntas lemantizadas y esto puede ser un poco complejo ya que he tenido experiencia con FULL TEXT / INSTR pero ellas generalmente me ocacionan daños o resultado incorrectos ¿porque?
por esto:
Pregunta: estoy buscando el perro::
Pregunta filtrada: yo buscar perro.
Pregunta en la base de datos: buscar perro julio, buscar perro perrera, buscar perro.
es posible que las funciones de MYSQL me devuelvan unas de ellas y cada una de ella contiene respuestas diferentes, de esta manera se vuelve ineficiente y no preciso, la manera que lo hago es
trayendo la información por FETCH() y revisar con STRPOS [[ stpos(Pregunta, ' '.basededatos.' ') ]] y cuando la encuentre haga break, pero todos sabemos que este metodo es bruto y ineficiente ya que tiene que traer todos los registros para revisarlos.
Ejemplo
Q1 = Q->query(SELECT pregunta FROM tabla);
WHILE(r1 = Q1->fetch()):
stpos(Pregunta, ' '.basededatos.' ') // TRUE OR FALSE
endwhile;
Si no me explique o no me entiendes me pueden decir para expresarme mejor.