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

时间:2014-02-06 13:21:55

标签: mysql

在包含单词ddi的FULLTEXT索引字段中。现在我正在使用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使用FULLTEXT索引

1 个答案:

答案 0 :(得分:0)

MySQL中的全文搜索功能有一个最小字长。您的机会设置为大于三的值。您可以在my.cnf文件中进行配置,如下所示:

[mysqld]
ft_min_word_len=3

有关详细信息,请查看MySQL manual