Mysql匹配不按预期工作

时间:2017-04-03 07:52:57

标签: php mysql

我想要将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

由于$keyStrJava开头,因此relevance设置为以res_keyskills开头的Java

但我需要为relevance res_keyskills设置Java or Php

为此我应该在查询中做些什么更改,或者我应该更改输入字符串格式(目前按空格分隔)

1 个答案:

答案 0 :(得分:0)

您在查询中指定了no operator。当你这样做时,你会说:

  

查找包含两个单词中至少一个的行。

而是尝试指定+运算符并尝试。这意味着:

  

查找包含first word的行,但如果行包含second word则排名更高。

类似的东西:

SELECT *, match(res_keyskills) against ('+".$keyStr."') AS relevance FROM Resumes

Reference