У меня есть таблица, названная 'бизнесом' со следующими демонстрационными данными:
Street - 150 N Michigan Ave.
City - Chicago
State - IL
Zip - 60601
Когда я выполняю запрос как
SELECT business.*
WHERE MATCH(business.Street, business.City, business.State, business.Zip)
AGAINST('*150*' IN BOOLEAN MODE)
-- IT WORKS
SELECT business.*
WHERE MATCH(business.Street, business.City, business.State, business.Zip)
AGAINST('*Chicago*' IN BOOLEAN MODE)
-- IT WORKS
SELECT business.*
WHERE MATCH(business.Street, business.City, business.State, business.Zip)
AGAINST('*60601*' IN BOOLEAN MODE)
-- IT WORKS
SELECT business.*
WHERE MATCH(business.Street, business.City, business.State, business.Zip)
AGAINST('*IL*' IN BOOLEAN MODE)
-- DOESNT WORK!!
Так что случилось с последним запросом?
Какие-либо идеи?
Похоже, вы работаете с минимальной длиной limit, как указано в документации MySQL .
Обновите переменную ft_min_word_len
в файле конфигурации my.cnf
MySQL:
[mysqld]
ft_min_word_len=N
Обратите внимание, что впоследствии индексы должны быть перестроены.