我有一个表定义了两个全文索引。 “show create table upload”语句中的表格布局为:
CREATE TABLE `upload` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`when_uploaded` datetime DEFAULT NULL,
`bywho` int(10) unsigned DEFAULT NULL,
`notes` text COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
KEY `bywho` (`bywho`),
KEY `when_uploaded` (`when_uploaded`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `notes` (`notes`)
) ENGINE=MyISAM AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
用于搜索的sql是:
select * from upload where match(notes) against('comments' in boolean mode)
我已经确认“评论”这个词出现在4个测试行中的至少一个中。我可以使用以下方式搜索标题:
select * from upload where match(title) against('upload' in boolean mode)
在同一个表上没有问题并让它返回结果。我有不同的词语,我所知道的是在笔记领域,但无济于事。
我知道此搜索之前有效。我将最小字大小更改为3.删除标题和注释的索引并重新添加它们。标题有效,笔记没有。
由于我使用“在布尔模式下”,50%的噪音规则不应生效。我在5.6.10 MySQL上运行。我已经从我的PHP脚本和mysql命令行尝试了这些搜索。任何指导都将不胜感激。