我在mysql数据库(product{id, name, category}
)中有一个表,它包含数百条记录。
现在新产品添加了相同的字段,我想搜索字段并将其与其他记录匹配,以便找到产品的最佳匹配。
我的问题是什么是最好的方法,如果我搜索产品的名称,但如果有多个与这些名称的匹配怎么办。
我应该使用这样的东西
SELECT * FROM table_name WHERE column1 LIKE '%column1%' OR column2 LIKE '%column2%'
答案 0 :(得分:0)
您正在寻找MySQL“MATCH()”函数。这有几点需要注意:
来自手册:
在WHERE子句中使用MATCH()时,如前面所示的示例,返回的行将首先自动排序,具有最高的相关性。
http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html
答案 1 :(得分:0)
您应该查看MySQL全文索引功能,以生成相关性排序的输出。该主题有很多帖子。例如,请参阅this post。