MySql“;匹配“;不使用特定的词

MySql“;匹配“;不使用特定的词,mysql,full-text-search,Mysql,Full Text Search,我在一个mysql查询中遇到了一个奇怪的问题,使用MATCH-country可以处理某些单词,而不能处理其他单词,这是返回0行的特定查询: SELECT * from series WHERE MATCH (name_e,name_a) AGAINST ("One"); 1-我使用的是utf8\u general\u ci,因此它不是区分大小写的问题 2-其他3个字符的搜索返回propper结果(例如“Key”),因此这不是最小字符数问题 以下是表格结构: CREATE TABLE `ser

我在一个mysql查询中遇到了一个奇怪的问题,使用MATCH-country可以处理某些单词,而不能处理其他单词,这是返回0行的特定查询:

SELECT * from series WHERE MATCH (name_e,name_a)  AGAINST ("One");
1-我使用的是
utf8\u general\u ci
,因此它不是区分大小写的问题

2-其他3个字符的搜索返回propper结果(例如“Key”),因此这不是最小字符数问题

以下是表格结构:

CREATE TABLE `series` (
`series_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`brand_id` int(10) unsigned NOT NULL,
`merchandise_id` int(10) unsigned NOT NULL,
`name_a` varchar(45) NOT NULL,
`name_e` varchar(45) NOT NULL,
`desc_a` text,
`desc_e` text,
`added_by` int(11) NOT NULL DEFAULT '4',
`approved` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`series_id`),
KEY `uniqueEntry` (`brand_id`,`name_e`),
FULLTEXT KEY `nameIndex` (`name_e`,`name_a`)
)
这是一些用于测试的样本数据:

INSERT INTO `series`(`series_id`,`brand_id`,`merchandise_id`,`name_a`,`name_e`,`desc_a`,`desc_e`,`added_by`,`approved`)
VALUES ('9', '39', '164', 'Aspire One', 'Aspire One', NULL, NULL, '4', '1');
INSERT INTO `series`(`series_id`,`brand_id`,`merchandise_id`,`name_a`,`name_e`,`desc_a`,`desc_e`,`added_by`,`approved`)
VALUES ('10', '54', '164', 'One', 'One', NULL, NULL, '4', '1');
INSERT INTO `series`(`series_id`,`brand_id`,`merchandise_id`,`name_a`,`name_e`,`desc_a`,`desc_e`,`added_by`,`approved`)
VALUES ('284', '70', '173', 'Key', 'Key', NULL, NULL, '53', '1');
试试看

SELECT * from series 
WHERE name_e LIKE '%One%'
OR    name_a LIKE '%One%'

全文不索引4个字母以下的单词

“一”在MySQL stopwords文件中

过滤掉停止字以防止常用字影响结果

您可以使用以下设置设置自己的停止字列表: 要覆盖默认的停止字列表,请设置ft_stopword_文件系统变量

它返回所需的结果,但在我的情况下,我需要使用特定的查询,即使用MATCH进行全文搜索谢谢,我在my.cnf文件中添加了
ft\u stopword\u file=”“
,重新启动了mysql,并对表执行了
优化
操作,它可以按照我的需要工作。