我设计了一个myisam表用于全文搜索。
我已经为customer_code
列定义了全文。customer_code
是varchar(20)
。它仅搜索“ 1234”和“ 0011”,而不搜索“ 123”和“ 456”。
我的SQL查询是:
SELECT *
FROM tbl_customer
WHERE MATCH(tbl_customer.customer_code) AGAINST('123')
我需要为此定义更多吗?
由于在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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句