Я только что создал полнотекстовый индекс в своей базе данных MySQL, но, к сожалению, он не возвращает никаких результатов.
Кажется, это распространенная проблема, и типичные ответы - использовать движок MyISAM и функцию «В БУЛЕВОМ РЕЖИМЕ». Ну, ни один из них, похоже, не работает для меня.
Вот мой пример кода:
DROP TABLE IF EXISTS parentregionlist;
CREATE TABLE parentregionlist
(
RegionID INT NOT NULL,
RegionType VARCHAR(50),
RelativeSignificance VARCHAR(3),
SubClass VARCHAR(50),
RegionName VARCHAR(255),
RegionNameLong VARCHAR(510),
ParentRegionID INT,
ParentRegionType VARCHAR(50),
ParentRegionName VARCHAR(255),
ParentRegionNameLong VARCHAR(510),
CountryCode VARCHAR(2),
TimeStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (RegionID),
FULLTEXT (RegionNameLong)
) ENGINE = MyISAM;
INSERT INTO parentregionlist
VALUES (575,
"City",
"",
"",
"Birmingham",
"Birmingham, England, United kingdom",
6023342,
"Multi-City (Vicinity)",
"Birmingham (and Vicinity)",
"Birmingham (and vicinity), England, United Kingdom",
"",
now());
SELECT *
FROM parentregionlist
WHERE MATCH(regionnamelong)
AGAINST ('Birm' IN BOOLEAN MODE);
Любые идеи?
P.S. В реальной таблице у меня более 200 тыс. строк. Я знаю, что поиск не будет работать только с одной строкой, это просто пример.