Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Voranstellen eines * (Sternchen) an eine Volltextsuche in MySQL

Was Sie tun könnten, ist, eine weitere Spalte in Ihrer Datenbank mit einem Volltextsuchindex zu erstellen, diese neue Spalte sollte die umgekehrte Zeichenfolge der Spalte enthalten, in der Sie suchen möchten, und Sie werden die Suchabfrage umkehren und sie zum Suchen verwenden umgekehrte Spalte, so sieht die Abfrage aus:

SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
  • die erste Bedingung MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) Beispiel:reversedColumn1==>Jmaes $reveresedkey*==>ames* sucht nach Wörtern, die mit ames beginnen ==> keine Übereinstimmung

  • die SekundenbedingungMATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE) Beispiel:reversedColumn1==>semaJ $reveresedkey*==>sema* wird nach Wörtern suchen, die mit ames enden ==> wir haben eine Übereinstimmung

Dies ist möglicherweise keine schlechte Idee, wenn Ihr Text kurz ist: