【发布时间】:2011-12-07 00:39:29
【问题描述】:
表结构:
Companies: id, name, city, branch, keywords, country
keywords 字段包含名称 city 和 branch 一起,我现在只使用带通配符的 LIKE 例如 '%music london%' 将返回 'musicfactory london'
但它不够精确,例如,如果用户想要搜索伦敦的 Vini & Magraine(一家餐厅)并且输入是“vini londen”,但没有找到,但是如果用户插入“magraine london”,它会被发现。
所以问题可能是关键字的顺序,现在我打算转换为全文搜索,我已经在关键字字段上创建了索引,关键字字段也是一个聪明的主意吗?
我的主要问题是,我用这个查询创建了一个全文搜索:
SELECT id, name, branch FROM companies WHERE MATCH(keywords) AGAINST(? IN BOOLEAN MODE) AND country = ? LIMIT 7
但是它没有返回正确的结果?什么是最好的和最有效的解决方案?
感谢阅读。
【问题讨论】:
标签: php mysql full-text-search