Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:使用MATCH和INSTR搜索全文索引_Mysql - Fatal编程技术网

MySQL:使用MATCH和INSTR搜索全文索引

MySQL:使用MATCH和INSTR搜索全文索引,mysql,Mysql,在包含wordddi的全文索引字段中。现在我使用MATCH()函数搜索该单词,如下所示,但它返回0记录: SELECT * FROM `tbl_xxx` WHERE MATCH(`full_content`) AGAINST ('ddi' IN NATURAL LANGUAGE MODE); -- RETURNING 0 RECORDS :( 但当我使用INSTR()函数搜索时,它返回1条记录 SELECT * FROM `tbl_xxx` WHERE INSTR(`full_content`

在包含word
ddi
的全文索引字段中。现在我使用MATCH()函数搜索该单词,如下所示,但它返回0记录:

SELECT * FROM `tbl_xxx`
WHERE MATCH(`full_content`) AGAINST ('ddi' IN NATURAL LANGUAGE MODE);
-- RETURNING 0 RECORDS :(
但当我使用INSTR()函数搜索时,它返回1条记录

SELECT * FROM `tbl_xxx`
WHERE INSTR(`full_content`, 'ddi')
-- RETURNS 1 RECORD :)
为什么使用INSTR()返回1条记录,但不使用MATCH()。


tbl_xxx
的引擎类型为MyISAM,字段
full_content
使用全文索引MySQL中的全文搜索功能有一个最小字长。如果设置的值大于3,则很可能是您的。您可以在my.cnf文件中进行如下配置:

[mysqld]
ft_min_word_len=3

有关更多信息,请查看。

在my.cnf中添加了
ft\u min\u word\u len=3
,并重新启动了MySQL,但仍获得0条全文搜索记录!如果您运行“SHOW VARIABLES LIKE'ft_u%'”,结果是什么?是的,请参见:
ft_boolean_syntax+->