(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