全文搜索不适用于mysql中的varchar

时间:2014-04-16 06:22:39

标签: mysql sql

我设计了一个用于全文搜索目的的myisam表。

small part of table

我已为customer_code列定义了全文。 customer_codevarchar(20)。它只搜索“1234”和“0011”,但不搜索“123”和“456”。

我的SQL查询是:

SELECT * 
FROM tbl_customer 
WHERE MATCH(tbl_customer.customer_code) AGAINST('123')

我还需要为它定义一些吗?

1 个答案:

答案 0 :(得分:0)

由于 ft_min_word_len

上指定的字长,它可能无效

http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html

所以在debian / ubuntu中通常 /etc/mysql/my.cnf

您需要在那里设置最小长度。在你的情况下,我认为它是4,所以你需要设置它少于那个。

确保重置字长后重新启动mysql。此外,您可能需要删除索引并重建或修复表。

更多信息可以通过不同方式在全文搜索中使用通配符。检查以下内容可能会对您有所帮助。

http://forums.mysql.com/read.php?107,113504,113504

在WAMP中,您可以在WAMP向导或

中找到配置文件
\wamp\bin\mysql\mysql{version}\my.ini