Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Poprzedzenie * (gwiazdką) przed wyszukiwaniem pełnotekstowym w MySQL

Możesz utworzyć kolejną kolumnę w bazie danych z indeksem wyszukiwania pełnotekstowego, ta nowa kolumna powinna mieć odwrócony ciąg kolumny, w której próbujesz przeszukać, a odwrócisz zapytanie wyszukiwania i użyjesz go do wyszukiwania w kolumna odwrócona, oto jak będzie wyglądać zapytanie:

SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
  • pierwszy warunekMATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) przykład:reversedColumn1==>Jmaes $reveresedkey*==>ames* wyszuka słowa zaczynające się od ames ==> brak dopasowania

  • warunek sekundMATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE) przykład:reversedColumn1==>semaJ $reveresedkey*==>sema* wyszuka słowa kończące się na ames ==> mamy dopasowanie

To może nie być zły pomysł, jeśli Twój tekst jest krótki:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Równoważenie obciążenia PostgreSQL i ulepszenia ProxySQL — ClusterControl 1.5

  2. mysql_real_escape_string i array_map zwraca puste ciągi?

  3. Zmienne procedury składowanej MySQL z instrukcji SELECT

  4. Sortowanie wielu pól w MySQL

  5. Jak uzyskać wszystkie dane z 2 tabel za pomocą klucza obcego?