我想要将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
但预期结果是res_id
1,2 3,4,5,7
由于$keyStr
以Java
开头,因此relevance
设置为以res_keyskills
开头的Java
。
但我需要为relevance
res_keyskills
设置Java or Php
。
为此我应该在查询中做些什么更改,或者我应该更改输入字符串格式(目前按空格分隔)
答案 0 :(得分:0)
您在查询中指定了no operator
。当你这样做时,你会说:
查找包含两个单词中至少一个的行。
而是尝试指定+
运算符并尝试。这意味着:
查找包含
first word
的行,但如果行包含second word
则排名更高。
类似的东西:
SELECT *, match(res_keyskills) against ('+".$keyStr."') AS relevance FROM Resumes