Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql стоп думи и съвпадение

По подразбиране индексите на MySQL FULLTEXT няма да индексират думи, по-къси от 4 знака (за MyISAM таблици). Ако искате да индексирате думи от 3 букви, трябва да зададете ft_min_word_len системна променлива (или innodb_ft_min_token_size за InnoDB) до стойност 3 или по-ниска, след което рестартирайте mysqld и изградете отново вашата таблица.

Например, добавете това към [mysqld] раздел на вашия my.cnf файл:

ft_min_word_len=3

След това рестартирайте mysqld.

След това изпълнете тази команда, за да възстановите таблицата:

alter table `tbladvertstest` force;

Сега вашата заявка трябва да работи:

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. MySQL групово INSERT или UPDATE

  2. Какво е второ ниво SQL инжекция

  3. Преносим начин за осигуряване на IP-базиран период на охлаждане?

  4. Най-добрият начин да извлечете последните 4 реда от набор от резултати с помощта на mysql

  5. Добавете сортиране по страници и търсене с помощта на jquery datatable