ft_min_word_len=3 MySQL. Налаштовуємо мінімальну кількість символів для повнотекстового пошуку
- 7 Травня 2014
- Volodymyr Hodiak
- Розробка
- 6121
Ситуація. Пошук по сайту не шукає товар 02п, але ж він там є, - каже клієнт. Сіли ми з програмером Максимом, тестимо. Після 30хв тестів, зрозуміли що механізм пошуку написаний правильно (використовує 7 різних умов, напр: транслітерація тексту та ін.). І тут я згадав. По замовчуванню в налаштуваннях mysql сервера, в індекс (FULLTEXT) попадають слова, розміром >=4 символів. ...ОПА, подумав Макс. Так ми маємо власні сервера, ...ОПУ ми відкладемо на інший день.
Рішення:
Відкриваєм конфіг, (в мене він лежить в /etc/mysql/my.cnf), і додаємо наступні рядки:
[mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3
Далі, для того щоб зміни вступили в силу, потрібно перезапустити mysql /etc/init.d/mysql restart or service mysqld restart, в залежності від системи.
І скинути кеш таблиці, по якій здійснюється пошук.
REPAIR TABLE <TableName> QUICK;
FLUSH TABLE <TableName>;
Ви можете перевірити ваші зміни, набравши наступне в mysql
SHOW VARIABLES LIKE 'ft_min_word_len'
Успіхів! Якщо сподобалась стаття, не забуваємо ставити лайки.