我有工作门户网站。我正在起诉全文搜索搜索用户关键字。 我的表包含job_id,job_content列 当用户一次搜索4个关键字时,我需要显示最少3个匹配结果的单词。但我也得到了两个匹配结果的单词。我只希望job_content包含至少3个搜索单词。
这是我写的代码
$jtitle=explode(" ",$_REQUEST['job_title']);
$mch=" (MATCH(t.job_title) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[2] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_title) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[2]' IN BOOLEAN MODE)
or MATCH(t.job_title) AGAINST('+$jtitle[1] +$jtitle[2] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_title) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_title) AGAINST('+$jtitle[0] +$jtitle[2] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_content) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[2] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_content) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[1]' IN BOOLEAN MODE)
or MATCH(t.job_content) AGAINST('+$jtitle[1] +$jtitle[2] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_content) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_content) AGAINST('+$jtitle[0] +$jtitle[2] +$jtitle[3]' IN BOOLEAN MODE)
or MATCH(t.job_content) AGAINST('+$jtitle[0] +$jtitle[1] +$jtitle[3]' IN BOOLEAN MODE) )";
$qry=mysql_query(" select * from jobs where 1=1 and $mch ")
我写了这样的查询,用于显示当用户搜索4个单词时在jb_content或job_title结果中匹配的至少3个关键字。 问题是我也得到2个字匹配。
请帮我解决这个问题,以获得准确的单词结果