sql >> Database >  >> RDS >> Mysql

Een * (sterretje) toevoegen aan een Fulltext Search in MySQL

Wat u zou kunnen doen, is een andere kolom in uw database maken met een zoekindex voor volledige tekst, deze nieuwe kolom moet de omgekeerde tekenreeks hebben van de kolom waarop u probeert te zoeken, en u keert de zoekopdracht om en gebruikt deze om te zoeken op de omgekeerde kolom, zo ziet de zoekopdracht eruit:

SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
  • de eerste voorwaardeMATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) voorbeeld:reversedColumn1==>Jmaes $reveresedkey*==>ames* zoekt naar woorden die beginnen met ames ==> geen overeenkomst

  • de secondenvoorwaardeMATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE) voorbeeld:reversedColumn1==>semaJ $reveresedkey*==>sema* zal zoeken naar woorden die eindigen op ames ==> we hebben een overeenkomst

Dit is misschien geen slecht idee als je tekst kort is:



  1. SQL Server - inner join bij updaten

  2. SQL-selectiequery met behulp van functies voor samenvoegen, groeperen op en aggregatie

  3. Sommige ELKE geaggregeerde transformaties zijn verbroken

  4. MYSQL hoe de tabel te ontgrendelen als ik het commando LOCK table table_name gebruik WRITE;