sql >> Database >  >> RDS >> Mysql

Mysql stop woorden en match

Standaard zullen MySQL FULLTEXT-indexen geen woorden indexeren die korter zijn dan 4 tekens (voor MyISAM-tabellen). Als je woorden van drie letters wilt indexeren, moet je de ft_min_word_len systeemvariabele (of innodb_ft_min_token_size for InnoDB) naar een waarde van 3 of lager, start mysqld opnieuw en herbouw uw tabel.

Voeg dit bijvoorbeeld toe aan de [mysqld] gedeelte van uw my.cnf-bestand:

ft_min_word_len=3

Start vervolgens mysqld opnieuw.

Voer vervolgens deze opdracht uit om de tabel opnieuw op te bouwen:

alter table `tbladvertstest` force;

Nu zou je zoekopdracht moeten werken:

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. Toepassing om MySQL en PostgreSQL DB te reverse-engineeren?

  2. MySQL INSERT IF (aangepaste if-statements)

  3. Postgres:een standaardwaarde definiëren voor CAST-fouten?

  4. Host xxxx mag geen verbinding maken met deze MySQL-server