(mysql 5.1.36)
Я пытаюсь выяснить, почему, когда я ищу слово «три» в полнотекстовом запросе, я не получаю результатов. Я получаю тот же результат, если слово «три» является единственным текстом в поле или если оно является частью предложения.
Легко воспроизвести:
CREATE TABLE `test`( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `word` TEXT NOT NULL , PRIMARY KEY (`id`) );
ALTER TABLE `test` ADD FULLTEXT `NewIndex1` (`word`);
INSERT INTO `test`(`id`,`word`) VALUES ( NULL,'three');
INSERT INTO `test`(`id`,`word`) VALUES ( NULL,'thorn');
Затем выполните эти запросы:
SELECT * FROM test WHERE word='three';
результат = [1, 'три']
SELECT word FROM test WHERE MATCH(word) AGAINST ('three*' IN BOOLEAN MODE );
результат = []
SELECT word FROM test WHERE MATCH(word) AGAINST ('three' IN BOOLEAN MODE);
результат = []
SELECT word FROM test WHERE MATCH(word) AGAINST ('thre*' IN BOOLEAN MODE );
результат = []
SELECT word FROM test WHERE MATCH(word) AGAINST ('thorn*' IN BOOLEAN MODE )
result = [2, 'thorn']
SELECT word FROM test WHERE MATCH(word) AGAINST ('thorn' IN BOOLEAN MODE)
result = [2, 'thorn']
SELECT word FROM test WHERE MATCH(word) AGAINST ('thor*' IN BOOLEAN MODE)
result = [2, 'thorn']
Почему полнотекстовый поиск по запросу "три" не дает результатов?