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

Mysql zatrzymaj słowa i dopasuj

Domyślnie indeksy MySQL FULLTEXT nie indeksują słów krótszych niż 4 znaki (dla tabel MyISAM). Jeśli chcesz indeksować trzyliterowe słowa, musisz ustawić ft_min_word_len zmienna systemowa (lub innodb_ft_min_token_size dla InnoDB) do wartości 3 lub niższej, a następnie uruchom ponownie mysqld i przebuduj tabelę.

Na przykład dodaj to do [mysqld] sekcja twojego pliku my.cnf:

ft_min_word_len=3

Następnie uruchom ponownie mysqld.

Następnie uruchom to polecenie, aby odbudować tabelę:

alter table `tbladvertstest` force;

Teraz Twoje zapytanie powinno działać:

mysql > SELECT * 
    -> FROM `tbladvertstest` 
    -> WHERE MATCH (`SearchCompany`) AGAINST ('+"All Bar One"' IN BOOLEAN MODE) ;
+----+---------------+
| id | SearchCompany |
+----+---------------+
|  1 | All Bar One   |
+----+---------------+
1 row in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wydajność UUID w MySQL?

  2. AKTUALIZACJA SQL z LIKE

  3. Konfiguracja eclipselink + Spring MVC + MySql przy użyciu konfiguracji Java (brak konfiguracji XML)

  4. Jak używać orderby na elemencie połączonym metodą Laravel Eloquent WITH

  5. Określ rangę na podstawie wielu kolumn w MySQL