我有一个名为myatts
的表格:
然而,当我全文搜索它时,我没有得到任何结果。但如果我使用LIKE,我会得到结果 我想坚持使用全文,任何人都可以帮我弄清楚为什么没有返回结果?
这是我的表结构:
id
int(11) Not null AUTO_INCREMENT
join_id
int(11) Not Null
webid
int(11) Not Null
content
text utf8_general_ci
以下是我的索引
Keyname Type Unique Packed Field Cardinality
PRIMARY BTREE Yes No id 3332834
content BTREE No No content (333) 238059
id_index BTREE No No webid 151492
join_id BTREE No No join_id 36
content_ft FULLTEXT No No content 119029
这是我的问题:
SELECT * FROM myatts WHERE MATCH(content) AGAINST('Rat, D.D.' IN BOOLEAN MODE)
以下是解释:
1 SIMPLE myatts fulltext content_ft content_ft 0 1 Using where
任何帮助/指针都会很棒。谢谢!
答案 0 :(得分:0)
您的最小字长可能设置为4.有关详细信息,请查看MySQL Manual。
答案 1 :(得分:0)
默认情况下,MySQL的全文索引器会忽略长度少于4个字符的单词。在my.cnf中设置此变量:
ft_min_word_len=3
我可能不想少于3,因为你最终会得到误报。