(mysql 5.1.36)Mysql全文搜索无法找到一个单词 - 为什么?
我想知道为什么当我在全文查询中搜索单词'three'时,我没有得到任何结果。如果单词“three”是字段中唯一的文本,或者它是句子的一部分,我会得到相同的结果。
这是很容易重现:
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)
结果= [2, '刺']
SELECT word FROM test WHERE MATCH(word) AGAINST ('thorn' IN BOOLEAN MODE)
结果= [2, '刺']
SELECT word FROM test WHERE MATCH(word) AGAINST ('thor*' IN BOOLEAN MODE)
resul t = [2,'thorn']
为什么全文搜索'three'没有返回结果?
谢谢 - 我忘了所有关于停用词。 – John