如何设置全文?

时间:2011-12-03 05:19:20

标签: php mysql

为什么这个查询没有给我任何结果?

SELECT * 
FROM jobs 
WHERE MATCH(title, description) AGAINST('+php' IN BOOLEAN MODE)

我在标题和说明行中都有PHP字。

也许是因为它几乎每一行都有php

2 个答案:

答案 0 :(得分:1)

我不知道你的表定义是什么。但在我看来,你应该检查

  • 您的MySQL引擎是否为MyISAM(InnobDB版本为5.6)。
  • 您的两个conlumn标题和说明的全文索引

例如:

CREATE TABLE jobs
(
    id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(200),
    description TEXT,
    FULLTEXT (title,body)
)ENGINE=MyISAM;

答案 1 :(得分:1)

mysql中有一个最小字长设置,默认为4,
但PHP是三个字符

您可以查看配置

[mysqld]
ft_min_word_len=3

更新配置后,重新启动mysql守护程序并重新构建全文索引

详细信息: - http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html