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

Ulepszanie MySQL Match przeciwko wyszukiwaniu

Możesz robić dokładnie to, co chcesz, dopasowując IN BOOLEAN MODE i używając * operatora.

Na przykład:

 ... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...

+ mówi, że dopasowanie zawiera tylko wartości thing które zawierają pasujący termin, czyli w tym przypadku wszystkie indeksowane wartości zaczynające się od „educat " (patrz tutaj jak działa tryb logiczny w szczegółach).

Na marginesie, wyszukiwanie pełnotekstowe w MySQL domyślnie nie indeksuje słów składających się z 3 lub mniej znaków, więc podejrzewam, że dopasowanie z "edu" nie działa tak, jak myślisz. Spójrz na wartość swojego ft_min_word_len zmienna, aby sprawdzić, czy tak jest.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Paginacja w PDO PHP

  2. Automatyczne inkrementowanie mysql ID nie zaczyna się od 0

  3. Odpowiednik Laravel-5 „LIKE” (Eloquent)

  4. Zapytanie Mysql SELECT zadziałało, teraz nie działa 2 minuty później (bez zmian)

  5. Wyświetl dane z wiersza mysql jako kolumny w php