我设计了一个用于全文搜索目的的myisam表。
我已为customer_code
列定义了全文。 customer_code
是varchar(20)
。它只搜索“1234”和“0011”,但不搜索“123”和“456”。
我的SQL查询是:
SELECT *
FROM tbl_customer
WHERE MATCH(tbl_customer.customer_code) AGAINST('123')
我还需要为它定义一些吗?
答案 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