我希望对mysql结果进行关联排序。
工作流程如下:
我用关键字Java, Php搜索简历
并编写查询计算关联。
$keyStr="Java PHP"; res_id和res_keyskills在中恢复表
1 Java,PHP
2 PHP,Java
3 Javascript, Java
4 Java
5 PHP
6 Python
7 PHP, C等
SELECT *, match(res_keyskills) against ('".$keyStr."') AS relevance FROM Resumes目前,res_id 1、3、4的相关性大于0。
但预期结果与res_id 1,2 3,4,5,7之间的相关性大于0。
因为$keyStr是以Java开头的,所以relevance被设置为以Java开头的res_keyskills。
但我需要将relevance设置为res_keyskills有Java or Php。
为此,我应该在查询中做什么更改,还是应该更改输入字符串格式(当前由空格分隔)
发布于 2017-04-03 08:22:59
在查询中指定no operator。当你这样做的时候,你是说:
查找至少包含两个单词中的一个的行。
相反,请尝试指定+运算符并尝试。这意味着:
查找包含
first word的行,但如果行也包含second word,则排序更高。
类似于:
SELECT *, match(res_keyskills) against ('+".$keyStr."') AS relevance FROM Resumeshttps://stackoverflow.com/questions/43179278
复制相似问题