sql >> Base de Datos >  >> RDS >> Mysql

Anteponer un * (asterisco) a una búsqueda de texto completo en MySQL

Lo que podría hacer es crear otra columna en su base de datos con un índice de búsqueda de texto completo, esta nueva columna debe tener la cadena invertida de la columna en la que está tratando de buscar, y revertirá la consulta de búsqueda y la usará para buscar en el columna invertida, así es como se verá la consulta:

SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
  • la primera condiciónMATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) ejemplo:reversedColumn1==>Jmaes $reveresedkey*==>ames* buscará palabras que comiencen con ames ==> sin coincidencia

  • la condición de los segundosMATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE) ejemplo:reversedColumn1==>semaJ $reveresedkey*==>sema* buscará palabras que terminen en ames ==> tenemos una coincidencia

Esta podría no ser una mala idea si su texto es corto: